Automated dlna scanning with notification

ABSTRACT

A Digital Living Network Alliance (DLNA) subservice module for an intelligent television (TV) is configured to run periodic discovery scans for DLNA devices on a local network. The DLNA subservice module retrieves status data for DLNA devices connected to the network, updates an internal status data for the DLNA device using the retrieved data, and notifying a media scanner module of the Intelligent TV with the updated internal status data. The DLNA subservice module further works with internal provider modules of the Intelligent TV that deals with non-DLNA devices. The media browser includes a plug-in for retrieving metadata from DLNA content servers in addition to non-DLNA devices. The media scanner aggregates unified metadata retrieved from media browser content provider modules that includes data from DLNA devices.

CROSS REFERENCE TO RELATED APPLICATION

The present application claims the benefits of and priority, under 35U.S.C. §119(e), to U.S. Provisional Application Ser. Nos. 61/684,672filed Aug. 17, 2012, “Smart TV”; 61/702,650 filed Sep. 18, 2012, “SmartTV”; 61/697,710 filed Sep. 6, 2012, “Social TV”; 61/700,182 filed Sep.12, 2012, “Social TV Roadmap”; 61/736,692 filed Dec. 13, 2012,“SmartTV”; 61/798,821 filed Mar. 15, 2013, “SmartTV”; 61/804,942 filedMar. 25, 2013, “SmartTV”; 61/804,998 filed Mar. 25, 2013, “SmartTV”;61/804,971 filed Mar. 25, 2013, “SmartTV”; 61/804,990 filed Mar. 25,2013, “SmartTV”; 61/805,003 filed Mar. 25, 2013, “SmartTV”; 61/805,053filed Mar. 25, 2013, “SmartTV”; 61/805,030 filed Mar. 25, 2013,“SmartTV”; 61/805,027 filed Mar. 25, 2013, “SmartTV”; 61/805,042 filedMar. 25, 2013, “SmartTV”; and 61/805,038 filed Mar. 25, 2013, “SmartTV.”Each of the aforementioned documents is incorporated herein by referencein their entirety for all that they teach and for all purposes.

BACKGROUND

Consolidation of device features or technological convergence is anincreasing trend. Technological convergence describes the tendency fordifferent technological systems to evolve toward performing similartasks. As people use more devices, the need to carry those devices,charge those devices, update software on those devices, etc. becomesmore cumbersome. To compensate for these problems, technology companieshave been integrating features from different devices into one or twomulti-functional devices. For example, cellular phones are now capableof accessing the Internet, taking photographs, providing calendarfunctions, etc.

The consolidation trend is now affecting the design and functionality ofdevices generally used in the home. For example, audio receivers canaccess the Internet, digital video recorders can store or provide accessto digital photographs, etc. The television in home audio/video systemsremains a cornerstone device because the display function cannot beintegrated into other devices. As such, consolidating home devices leadsto integrating features and functionality into the television. Theemergence of the Smart Television (Smart TV) is evidence of the trend toconsolidate functionality into the television.

A Smart TV is generally conceived as a device that integrates access tothe Internet and Web 2.0 features into television sets. The Smart TVrepresents the trend of technological convergence between computers andtelevision sets. The Smart TV generally focuses on online interactivemedia, Internet TV, on-demand streaming media, and generally does notfocus on traditional broadcast media. Unfortunately, most Smart TVs haveyet to provide seamless and intuitive user interfaces for navigatingand/or executing the various features of the Smart TV. As such, thereare still issues with the consolidation of features and the presentationof these features in Smart TVs.

SUMMARY

There is a need for an Intelligent TV with intuitive user interfaces andwith seamless user interaction capability. These and other needs areaddressed by the various aspects, embodiments, and/or configurations ofthe present disclosure. Also, while the disclosure is presented in termsof exemplary embodiments, it should be appreciated that individualaspects of the disclosure can be separately claimed.

According to the disclosure, a method of managing external devicesconnected through a network for an Intelligent TV includes retrievingstatus data for an external device through the network, updating aninternal status data for the external device in the Intelligent TV usingthe retrieved status data, and notifying an internal content providermodule of the Intelligent TV with the updated internal status data. Themethod further includes aggregating the updated internal status datawith status data for other devices connected through the network as aunified data.

According to the disclosure, an Intelligent TV includes a DLNAsubservice module configured to retrieve status data from a plurality ofDLNA devices connected through a network and update internal status datafor the external devices in the Intelligent TV using the retrievedstatus data and an internal content provider module configured tomaintain a list of connected media sources of the Intelligent TV usingthe status data retrieved by the DLNA subservice module. The internalprovider modules include a media browser configured to provide areal-time view of media sources of the Intelligent TV and a mediascanner configured to populate a media table using data retrieved by themedia browser. The media browser includes a plug-in configured toretrieve metadata from the plurality of DLNA devices that are DLNAcontent servers. The media scanner is configured to aggregate data ofDLNA and non-DLNA devices as a unified metadata.

According to the disclosure, a DLNA subservice module for an IntelligentTV is configured to perform the steps retrieving status data of a DLNAdevice connected through a network, updating an internal status data forthe DLNA device in the Intelligent TV using the retrieved status data,and notifying an internal content provider module of the Intelligent TVwith the updated internal status data. The DLNA subservice modulefurther aggregates the updated internal status data with status data forother devices connected through the network as a unified data.

The present disclosure can provide a number of advantages depending onthe particular aspect, embodiment, and/or configuration.

Each subservice will be able to manage media and/or data from itsparticular source(s) and further aggregate media and/or data frommultiple distinct sources. Alternatively, a particular subservice mayfurther expose the multiple sources to the application levels in anorganized and efficient manner.

Subservices will also have access to local storage of media and/or datawith defined priority goals such as improved performance or to keeptrack of transient information.

These and other advantages will be apparent from the disclosure.

The phrases “at least one,” “one or more,” and “and/or” are open-endedexpressions that are both conjunctive and disjunctive in operation. Forexample, each of the expressions “at least one of A, B and C,” “at leastone of A, B, or C,” “one or more of A, B, and C,” “one or more of A, B,or C” and “A, B, and/or C” means A alone, B alone, C alone, A and Btogether, A and C together, B and C together, or A, B and C together.

The term “a” or “an” entity refers to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising,” “including,” and “having” can be used interchangeably.

The term “automatic” and variations thereof, as used herein, refers toany process or operation done without material human input when theprocess or operation is performed. However, a process or operation canbe automatic, even though performance of the process or operation usesmaterial or immaterial human input, if the input is received beforeperformance of the process or operation. Human input is deemed to bematerial if such input influences how the process or operation will beperformed. Human input that consents to the performance of the processor operation is not deemed to be “material.”

A “blog” (a blend of the term web log) is a type of website or part of awebsite supposed to be updated with new content from time to time. Blogsare usually maintained by an individual with regular entries ofcommentary, descriptions of events, or other material such as graphicsor video. Entries are commonly displayed in reverse-chronological order.

A “blogging service” is a blog-publishing service that allows private ormulti-user blogs with time-stamped entries.

The term “cable TV” refers to a system of distributing televisionprograms to subscribers via radio frequency (RF) signals transmittedthrough coaxial cables or light pulses through fiber-optic cables. Thiscontrasts with traditional broadcast television (terrestrial television)in which the television signal is transmitted over the air by radiowaves and received by a television antenna attached to the television.

The term “channel” or “television channel,” as used herein, can be aphysical or virtual channel over which a television station ortelevision network is distributed. A physical cannel in analogtelevision can be an amount of bandwidth, typically 6, 7, or 8 MHz, thatoccupies a predetermine channel frequency. A virtual channel is arepresentation, in cable or satellite television, of a data stream for aparticular television media provider (e.g., CDS, TNT, HBO, etc.).

The term “computer-readable medium,” as used herein, refers to anytangible storage and/or transmission medium that participate inproviding instructions to a processor for execution. Such a medium maytake many forms, including but not limited to, non-volatile media,volatile media, and transmission media. Non-volatile media includes, forexample, NVRAM, or magnetic or optical disks. Volatile media includesdynamic memory, such as main memory. Common forms of computer-readablemedia include, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, magneto-optical medium, aCD-ROM, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, a RAM, a PROM, and EPROM, aFLASH-EPROM, a solid state medium like a memory card, any other memorychip or cartridge, a carrier wave as described hereinafter, or any othermedium from which a computer can read. A digital file attachment toe-mail or other self-contained information archive or set of archives isconsidered a distribution medium equivalent to a tangible storagemedium. When the computer-readable media is configured as a database, itis to be understood that the database may be any type of database, suchas relational, hierarchical, object-oriented, and/or the like.Accordingly, the disclosure is considered to include a tangible storagemedium or distribution medium and prior art-recognized equivalents andsuccessor media, in which the software implementations of the presentdisclosure are stored.

The term “enhanced television” (ETV) refers to a collection ofspecifications developed under the OpenCable project of CableLabs (CableTelevision Laboratories, Inc.) that define an ETV Application consistingof resources (files) adhering to the Enhanced TV Binary InterchangeFormat (EBIF) content format as well as PNG images, JPEG images, and PFRdownloadable fonts. An ETV application is normally delivered through anMPEG transport stream and accompanies an MPEG program containing videoand audio elementary streams. An “ETV Application” is a collection ofresources (files) that include one or more EBIF resources that representviewable information in the form of pages. Two forms of a given ETVApplication may be distinguished: (1) an interchange form and (2) anexecution form. The interchange form of an ETV Application consists ofthe resources (files) that represent the compiled application prior toits actual execution by an ETV User Agent. The execution form of an ETVApplication consists of the stored, and possibly mutated forms of theseresources while being decoded, presented, and executed by an ETV UserAgent. An “ETV User Agent” is a software component that operates on aset-top box, a television, or any other computing environment capable ofreceiving, decoding, presenting, and processing an ETV Application. Thiscomponent usually provides, along with its host hardware environment,one or more mechanisms for an end-user to navigate and interact with themultimedia content represented by ETV Applications.

The term “high-definition television” (HDTV) provides a resolution thatis substantially higher than that of standard-definition television.HDTV may be transmitted in various formats, namely 1080p-1920×1080p:2,073,600 pixels (approximately 2.1 megapixels) per frame, 1080i (whichis typically either 1920×1080i: 1,036,800 pixels (approximately 1megapixel) per field or 2,073,600 pixels (approximately 2.1 megapixels)per frame or 1440×1080i:[1] 777,600 pixels (approximately 0.8megapixels) per field or 1,555,200 pixels (approximately 1.6 megapixels)per frame), or 720p-1280×720p: 921,600 pixels (approximately 0.9megapixels) per frame. As will be appreciated, “frame size” in pixels isdefined as number of horizontal pixels x number of vertical pixels, forexample 1280×720 or 1920×1080. Often the number of horizontal pixels isimplied from context and is omitted, as in the case of 720p and 1080p,“scanning system” is identified with the letter “p” for progressivescanning or “i” for interlaced scanning, and “frame rate” is identifiedas number of video frames per second. For interlaced systems, analternative form of specifying number of fields per second is oftenused. For purposes of this disclosure, “high-definition television” isdeemed to include other high-definition analog or digital video formats,including ultra high definition television.

The term “internet television” (otherwise known as Internet TV, OnlineTelevision, or Online TV) is the digital distribution of televisioncontent via the Internet. It should not be confused with Webtelevision—short programs or videos created by a wide variety ofcompanies and individuals, or Internet protocol television (IPTV)—anemerging internet technology standard for use by televisionbroadcasters. Internet Television is a general term that covers thedelivery of television shows and other video content over the internetby video streaming technology, typically by major traditional televisionbroadcasters. It does not describe a technology used to deliver content(see Internet protocol television). Internet television has become verypopular through services such as RTÉ Player in Ireland; BBC iPlayer,4oD, ITV Player (also STV Player and UTV Player) and Demand Five in theUnited Kingdom; Hulu in the United States; Nederland 24 in theNetherlands; ABC iview and Australia Live TV in Australia; Tivibu inTurkey; and iWanTV! in the Philippines.

The term “internet protocol television” (IPTV) refers to a systemthrough which television services are delivered using the Internetprotocol suite over a packet-switched network such as the Internet,instead of being delivered through traditional terrestrial, satellitesignal, and cable television formats. IPTV services may be classifiedinto three main groups, namely live television, with or withoutinteractivity related to the current TV show; time-shifted television:catch-up TV (replays a TV show that was broadcast hours or days ago),start-over TV (replays the current TV show from its beginning); andvideo on demand (VOD): browse a catalog of videos, not related to TVprogramming. IPTV is distinguished from Internet television by itson-going standardization process (e.g., European TelecommunicationsStandards Institute) and preferential deployment scenarios insubscriber-based telecommunications networks with high-speed accesschannels into end-user premises via set-top boxes or othercustomer-premises equipment.

The term “silo,” as used herein, can be a logical representation of aninput, source, or application. An input can be a device or devices(e.g., DVD, VCR, etc.) electrically connected to the television througha port (e.g., HDMI, video/audio inputs, etc.) or through a network(e.g., LAN WAN, etc.). Rather than a device or devices, the input couldbe configured as an electrical or physical connection to one or moredevices. A source, particularly a content source, can be a data servicethat provides content (e.g., a media center, a file system, etc.). Anapplication can be a software service that provides a particular type offunction (e.g., Live TV, Video on Demand, User Applications, photographdisplay, etc.). The silo, as a logical representation, can have anassociated definition or property, such as a setting, feature, or othercharacteristic.

The term “panel,” as used herein, can mean a user interface displayed inat least a portion of the display. The panel may be interactive (e.g.,accepts user input) or informational (e.g., does not accept user input).A panel may be translucent whereby the panel obscures but does not maskthe underlying content being displayed in the display. Panels may beprovided in response to a user input from a button or remote controlinterface.

The term “screen,” as used herein, refers to a physical structure thatincludes one or more hardware components that provide the device withthe ability to render a user interface and/or receive user input. Ascreen can encompass any combination of gesture capture region, a touchsensitive display, and/or a configurable area. The device can have oneor more physical screens embedded in the hardware. However a screen mayalso include an external peripheral device that may be attached anddetached from the device. In embodiments, multiple external devices maybe attached to the device. For example, another screen may be includedwith a remote control unit that interfaces with the Intelligent TV.

The term “media” of “multimedia,” as used herein, refers to content thatmay assume one of a combination of different content forms. Multimediacan include one or more of, but is not limited to, text, audio, stillimages, animation, video, or interactivity content forms.

The term “Intelligent TV,” as used herein, refers to a televisionconfigured to provide one or more intuitive user interfaces andinteractions based on a unique application platform and architecture.The Intelligent TV utilizes processing resources associated with thetelevision to integrate Internet connectivity with parallel applicationfunctionality. This integration allows a user the ability to intuitivelyaccess various sources of media and content (e.g., Internet,over-the-top content, on-demand streaming media, over-the-air broadcastmedia, and/or other forms of information) via the Intelligent TV in aquick and efficient manner. Although the Intelligent TV disclosed hereinmay comprise one or more components of a “smart TV,” it is an aspect ofthe Intelligent TV to provide expanded intuitive user interactioncapability for navigating and executing the various features of thetelevision. A “smart TV,” sometimes referred to as a connected TV, orhybrid TV (not to be confused with IPTV, Internet TV, or with Web TV),describes a trend of integration of the Internet and Web 2.0 featuresinto television sets and set-top boxes, as well as the technologicalconvergence between computers and these television sets/set-top boxes.The smart TV devices have a higher focus on online interactive media,Internet TV, over-the-top content, as well as on-demand streaming media,and less focus on traditional broadcast media than traditionaltelevision sets and set-top boxes. As can be appreciated, theIntelligent TV encompasses a broader range of technology than that ofthe smart TV defined above.

The term “television” is a telecommunication medium, device (or set) orset of associated devices, programming, and/or transmission fortransmitting and receiving moving images that can be monochrome(black-and-white) or colored, with or without accompanying sound.Different countries use one of the three main video standards for TVs,namely PAL, NTSC or SECAM. Television is most commonly used fordisplaying broadcast television signals. The broadcast television systemis typically disseminated via radio transmissions on designated channelsin the 54-890 MHz frequency band. A common television set comprisesmultiple internal electronic circuits, including those for receiving anddecoding broadcast signals. A visual display device which lacks a tuneris properly called a video monitor, rather than a television. Atelevision may be different from other monitors or displays based on thedistance maintained between the user and the television when the userwatches the media and based on the inclusion of a tuner or otherelectronic circuit to receive the broadcast television signal.

The term “Live TV,” as used herein, refers to a television productionbroadcast in real-time, as events happen, in the present.

The term “standard-definition television” (SDTV) is a television systemthat uses a resolution that is not considered to be eitherhigh-definition television (HDTV 720p and 1080p) or enhanced-definitiontelevision (EDTV 480p). The two common SDTV signal types are 576i, with576 interlaced lines of resolution, derived from the European-developedPAL and SECAM systems; and 480i based on the American NationalTelevision System Committee NTSC system. In the US, digital SDTV isbroadcast in the same 4:3 aspect ratio as NTSC signals. However, inother parts of the world that used the PAL or SECAM analog standards,standard-definition television is now usually shown with a 16:9 aspectratio. Standards that support digital SDTV broadcast include DVB, ATSCand ISDB. Television signals are transmitted in digital form, and theirpixels have a rectangular shape, as opposed to square pixels that areused in modern computer monitors and modern implementations of HDTV. Thetable below summarizes pixel aspect ratios for various kinds of SDTVvideo signal. Note that the actual image (be it 4:3 or 16:9) is alwayscontained in the center 704 horizontal pixels of the digital frame,regardless of how many horizontal pixels (704 or 720) are used. In caseof digital video signal having 720 horizontal pixels, only the center704 pixels contain actual 4:3 or 16:9 image, and the 8 pixel widestripes from either side are called nominal analogue blanking and shouldbe discarded before displaying the image. Nominal analogue blankingshould not be confused with overscan, as overscan areas are part of theactual 4:3 or 16:9 image.

The term “video on demand (VOD),” as used herein, refers to systems andprocesses which allow users to select and watch/listen to video or audiocontent on demand. VOD systems may stream content, to view the contentin real time, or download the content to a storage medium for viewing ata later time.

The term “satellite positioning system receiver” refers to a wirelessreceiver or transceiver to receive and/or send location signals fromand/or to a satellite positioning system, such as the Global PositioningSystem (GPS) (US), GLONASS (Russia), Galileo positioning system (EU),Compass Navigation System (China), and Regional Navigational SatelliteSystem (India).

The term “displayed image,” as used herein, refers to an image producedon the display. A typical displayed image is a television broadcast ormenu. The displayed image may occupy all or a portion of the display.

The term “display orientation,” as used herein, refers to the way inwhich a rectangular display is oriented by a user for viewing. The twomost common types of display orientation are portrait and landscape. Inlandscape mode, the display is oriented such that the width of thedisplay is greater than the height of the display (such as a 4:3 ratio,which is 4 units wide and 3 units tall, or a 16:9 ratio, which is 16units wide and 9 units tall). Stated differently, the longer dimensionof the display is oriented substantially horizontal in landscape modewhile the shorter dimension of the display is oriented substantiallyvertical. In the portrait mode, by contrast, the display is orientedsuch that the width of the display is less than the height of thedisplay. Stated differently, the shorter dimension of the display isoriented substantially horizontal in the portrait mode while the longerdimension of the display is oriented substantially vertical.

The term “module,” as used herein, refers to any known or laterdeveloped hardware, software, firmware, artificial intelligence, fuzzylogic, or combination of hardware and software that is capable ofperforming the functionality associated with that element.

The terms “determine,” “calculate,” and “compute,” and variationsthereof, as used herein, are used interchangeably and include any typeof methodology, process, mathematical operation or technique.

The term “touch screen” or “touchscreen” refers to a screen that canreceive user contact or other tactile input, such as a stylus. The touchscreen may sense user contact in a number of different ways, such as bya change in an electrical parameter (e.g., resistance or capacitance),acoustic wave variations, infrared radiation proximity detection, lightvariation detection, and the like. In a resistive touch screen, forexample, normally separated conductive and resistive metallic layers inthe screen pass an electrical current. When a user touches the screen,the two layers make contact in the contacted location, whereby a changein electrical field is noted and the coordinates of the contactedlocation calculated. In a capacitive touch screen, a capacitive layerstores electrical charge, which is discharged to the user upon contactwith the touch screen, causing a decrease in the charge of thecapacitive layer. The decrease is measured, and the contacted locationcoordinates determined. In a surface acoustic wave touch screen, anacoustic wave is transmitted through the screen, and the acoustic waveis disturbed by user contact. A receiving transducer detects the usercontact instance and determines the contacted location coordinates.

The term “web television” is original television content produced forbroadcast via the World Wide Web. Some major distributors of webtelevision are YouTube, MySpace, Newgrounds, Blip.tv, and Crackle.

The term “display,” as used herein, refers to at least a portion of ascreen used to display the output of the television to a user. A displaymay be a single-screen display or a multi-screen display, referred to asa composite display. A composite display can encompass the touchsensitive display of one or more screens. A single physical screen caninclude multiple displays that are managed as separate logical displays.Thus, different content can be displayed on the separate displaysalthough part of the same physical screen.

The terms “instant message” and “instant messaging” refer to a form ofreal-time text communication between two or more people, typically basedon typed text.

The term “internet search engine” refers to a web search engine designedto search for information on the World Wide Web and FTP servers. Thesearch results are generally presented in a list of results oftenreferred to as SERPS, or “search engine results pages.” The informationmay consist of web pages, images, information and other types of files.Some search engines also mine data available in databases or opendirectories. Web search engines work by storing information about manyweb pages, which they retrieve from the html itself. These pages areretrieved by a Web crawler (sometimes also known as a spider)—anautomated Web browser which follows every link on the site. The contentsof each page are then analyzed to determine how it should be indexed(for example, words are extracted from the titles, headings, or specialfields called meta tags). Data about web pages is stored in an indexdatabase for use in later queries. Some search engines, such as Google™,store all or part of the source page (referred to as a cache) as well asinformation about the web pages, whereas others, such as AltaVista™,store every word of every page they find.

The terms “online community,” “e-community,” or “virtual community” meana group of people that primarily interact via a computer network, ratherthan face to face, for social, professional, educational or otherpurposes. The interaction can use a variety of media formats, includingwilds, blogs, chat rooms, Internet forums, instant messaging, email, andother forms of electronic media. Many media formats are used in socialsoftware separately or in combination, including text-based chatroomsand forums that use voice, video, text, or avatars.

The term “remote control” refers to a component of an electronic device,most commonly a television set, DVD player and/or home theater systemfor operating the device wirelessly, typically from a shortline-of-sight distance. Remote control normally uses infrared and/orradio frequency (RF) signaling and can include WiFi, wireless USB,Bluetooth™ connectivity, motion sensor enabled capabilities and/or voicecontrol. A touchscreen remote control is a handheld remote controldevice which uses a touchscreen user interface to replace most of thehard, built-in physical buttons used in normal remote control devices.

The term “satellite TV” refers to television programming delivered bythe means of communications satellite and received by an outdoorantenna, usually a parabolic reflector generally referred to as asatellite dish, and as far as household usage is concerned, a satellitereceiver either in the form of an external set-top box or a satellitetuner module built into a TV set.

The term “social network service” is a service provider that buildsonline communities of people, who share interests and/or activities, orwho are interested in exploring the interests and activities of others.Most social network services are web-based and provide a variety of waysfor users to interact, such as e-mail and instant messaging services.

The term “social network” refers to a web-based social network.

The term “gesture” refers to a user action that expresses an intendedidea, action, meaning, result, and/or outcome. The user action caninclude manipulating a device (e.g., opening or closing a device,changing a device orientation, moving a trackball or wheel, etc.),movement of a body part in relation to the device, movement of animplement or tool in relation to the device, audio inputs, etc. Agesture may be made on a device (such as on the screen) or with thedevice to interact with the device.

The term “gesture capture” refers to a sense or otherwise a detection ofan instance and/or type of user gesture. The gesture capture can occurin one or more areas of the screen, A gesture region can be on thedisplay, where it may be referred to as a touch sensitive display or offthe display where it may be referred to as a gesture capture area.

The term “electronic address” refers to any contactable address,including a telephone number, instant message handle, e-mail address,Universal Resource Locator (URL), Universal Resource Identifier (URI),Address of Record (AOR), electronic alias in a database, like addresses,and combinations thereof

It shall be understood that the term “means,” as used herein, shall begiven its broadest possible interpretation in accordance with 35 U.S.C.,Section 112. Accordingly, a claim incorporating the term “means” shallcover all structures, materials, or acts set forth herein, and all ofthe equivalents thereof. Further, the structures, materials or acts andthe equivalents thereof shall include all those described in the summaryof the invention, brief description of the drawings, detaileddescription, abstract, and claims themselves.

The preceding is a simplified summary of the disclosure to provide anunderstanding of some aspects of the disclosure. This summary is neitheran extensive nor exhaustive overview of the disclosure and its variousaspects, embodiments, and/or configurations. It is intended neither toidentify key or critical elements of the disclosure nor to delineate thescope of the disclosure but to present selected concepts of thedisclosure in a simplified form as an introduction to the more detaileddescription presented below. As will be appreciated, other aspects,embodiments, and/or configurations of the disclosure are possibleutilizing, alone or in combination, one or more of the features setforth above or described in detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A includes a first view of an embodiment of an environment or anintelligent television;

FIG. 1B includes a second view of an embodiment of an environment or anintelligent television;

FIG. 2A includes a first view of an embodiment of an intelligenttelevision;

FIG. 2B includes a second view of an embodiment of an intelligenttelevision;

FIG. 2C includes a third view of an embodiment of an intelligenttelevision;

FIG. 2D includes a fourth view of an embodiment of an intelligenttelevision;

FIG. 3 is a block diagram of an embodiment of the hardware of theintelligent television;

FIG. 4 is a block diagram of an embodiment of the intelligent televisionsoftware and/or firmware;

FIG. 5 is a second block diagram of an embodiment of the intelligenttelevision software and/or firmware;

FIG. 6 is a third block diagram of an embodiment of the intelligenttelevision software and/or firmware;

FIG. 7 is a plan view of an embodiment of a handheld remote control;

FIG. 8 is a side view of an embodiment of a remote control;

FIG. 9A is a bottom view of an embodiment of a remote control with ajoystick in a neutral position;

FIG. 9B is a bottom view of an embodiment of a remote control with thejoystick in a lower position;

FIG. 9C is a bottom view of an embodiment of a remote control with thejoystick in an upper position;

FIG. 10 is a plan view of another embodiment of a handheld remotecontrol;

FIG. 11A is a front view of an embodiment of an Intelligent TV screen;

FIG. 11B is a front view of an embodiment of an Intelligent TV screen;

FIG. 11C is a front view of an embodiment of an Intelligent TV screen;

FIG. 12 is a block diagram of an embodiment of a handheld remote controlof either FIG. 7 or 10;

FIG. 13 is a block diagram of an embodiment of a content data service;

FIG. 14 is a block diagram of an embodiment of a data service;

FIG. 15 is a flow diagram of an embodiment of a data management process;

FIG. 16 is a flow diagram of an embodiment of a data management process;

FIG. 17 shows a view of an embodiment of an environment with DigitalLiving Network Alliance (DLNA) interoperating devices or a intelligenttelevision; and

FIG. 18 shows a flow diagram for scanning and processing DLNA devicesfor an Intelligent TV.

In the appended figures, similar components and/or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a letter thatdistinguishes among the similar components. If only the first referencelabel is used in the specification, the description is applicable to anyone of the similar components having the same first reference labelirrespective of the second reference label.

DETAILED DESCRIPTION

Presented herein are embodiments of a device. The device can be anetwork-enabled telecommunications device, such as a television, anelectronic visual display device, or other smart device. The device caninclude one or more screens, or sections of a screen, that areconfigured to receive and present information from a number of sources.Further, the device can receive user input in unique ways. The overalldesign and functionality of the device provides for an enhanced userexperience making the device more useful and more efficient.

Intelligent Television (TV) Environment:

Referring to FIGS. 1A and 1B, an Intelligent TV, or device, 100 isshown. It is anticipated that the Intelligent TV 100 may be used forentertainment, business applications, social interaction, contentcreation and/or consumption, and to organize and control one or moreother devices that are in communication with the Intelligent TV 100. Ascan be appreciated, the Intelligent TV 100 can be used to enhance theuser interactive experience whether at home or at work.

In some embodiments, the Intelligent TV 100 may be configured to receiveand understand a variety of user and/or device inputs. For example, auser may interface with the Intelligent TV 100 via one or more physicalor electrical controls, such as buttons, switches, touch sensitivescreens/regions (e.g., capacitive touch, resistive touch, etc.), and/orother controls associated with the Intelligent TV 100. In some cases,the Intelligent TV 100 may include one or more interactive controls.Additionally or alternatively, the one or more controls may beassociated with a remote control. The remote control may communicatewith the Intelligent TV 100 via wired and/or wireless signals. As can beappreciated, the remote control may operate via radio frequency (RF),infrared (IR), and/or a specific wireless communications protocol (e.g.,Bluetooth™, Wi-Fi, etc.). In some cases, the controls, whether physicalor electrical, may be configured (e.g., programmed) to suit a user'spreferences.

Additionally or alternatively, smart phones, tablets, computers,laptops, netbooks, and other smart devices may be used to control theIntelligent TV 100. For example, control of the Intelligent TV 100 maybe achieved via an application running on a smart device. Theapplication may be configured to present a user with various IntelligentTV 100 controls in an intuitive user interface (UI) on a screenassociated with the device 100. The screen may be a touch sensitive, ortouch screen, display. Selections input by a user via the UI may beconfigured to control the Intelligent TV 100 by the applicationaccessing one or more communication features associated with the smartdevice.

It is anticipated that the Intelligent TV 100 can receive input viavarious input devices including, but in no way limited to, video, audio,radio, light, tactile, and combinations thereof. Among other things,these input devices may be configured to allow the Intelligent TV 100 tosee, recognize, and react to user gestures. For instance, a user maytalk to the Intelligent TV 100 in a conversational manner. TheIntelligent TV 100 may hear and understand voice commands in a mannersimilar to a smart device's intelligent personal assistant andvoice-controlled navigator application (e.g., Apple's Siri, Android'sSkyvi, Robin, Iris, and other applications).

The Intelligent TV 100 may also be a communications device which canestablish network connections 104 through many alternate means,including wired 108 or wireless 112 means, over cellular networks 116 toconnect via cellular base antenna 142 to telephone networks operated bytelephone company 146, and by using a telephone line 120 to connect totelephone networks operated by telephone company 146. These connections104 enable the Intelligent TV 100 to access one or more communicationnetworks 132. The communication networks may comprise any type of knowncommunication medium or collection of communication media and may useany type of protocols to transport messages or signals betweenendpoints. The communication networks may include wired and/or wirelesscommunication technologies. The Internet is an example of acommunication network 132 that constitutes an Internet Protocol (IP)network consisting of many computers, computing networks, and othercommunication devices located all over the world, which are connectedthrough many telephone systems and other means.

Other examples of the communication network 132 include, withoutlimitation, a standard Plain Old Telephone System (POTS), an IntegratedServices Digital Network (ISDN), the Public Switched Telephone Network(PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), acellular network, and any other type of packet-switched orcircuit-switched network known in the art. In addition, it can beappreciated that the communication network 132 need not be limited toany one network type, and instead may be comprised of a number ofdifferent networks and/or network types.

In some embodiments, the Intelligent TV 100 may be equipped withmultiple communication means. The multiple communication means may allowthe Intelligent TV 100 to communicate across Local Area Networks (LANs)124, wireless local area networks (WLANs) 128, and other networks 132.The networks 132 may be connected in a redundant manner to ensurenetwork access. In other words, if one connection is interrupted, theIntelligent TV 100 can use an alternate communications path toreestablish and/or maintain the network connection 104. Among otherthings, the Intelligent TV 100 may use these network connections 104 tosend and receive information, interact with an electronic program guide(EPG) 136, receive software updates 140, contact customer service 144(e.g., to receive help or service, etc.), and/or access remotely storeddigital media libraries 148. In addition, these connections can allowthe Intelligent TV 100 to make phone calls, send and/or receive emailmessages, send and/or receive text messages (such as email and instantmessages), surf the Internet using an internet search engine, post blogsby a blogging service, and connect/interact with social media sitesand/or an online community (e.g., Facebook™, Twitter™, LinkedIn™,Pinterest™, Google+™, MySpace™, and the like) maintained by a socialnetwork service. In combination with other components of the IntelligentTV 100 described in more detail below, these network connections 104also enable the Intelligent TV 100 to conduct video teleconferences,electronic meetings, and other communications. The Intelligent TV 100may capture and store images and sound, using associated cameras,microphones, and other sensors. Additionally or alternatively, theIntelligent TV 100 may create and save screen shots of media, images,and data displayed on a screen associated with the Intelligent TV 100.

Further, as shown in FIG. 1B, the intelligent TV 100 can interact withother electronic devices 168 by either the wired 108 and/or wireless 112connections. As described herein, components of the Intelligent TV 100allow the device 100 to be connected to devices 168 including, but notlimited to, DVD players 168 a, BluRay players 168 b, portable digitalmedia devices 168 c, smart phones 168 d, tablet devices 168 e, personalcomputers 168 f, external cable boxes 168 g, keyboards 168 h, pointingdevices 168 i, printers 168 j, game controllers and/or game pads 168 k,satellite dishes 1681, external display devices 168 m, and otheruniversal serial bus (USB), local area network (LAN), Bluetooth™, orhigh-definition multimedia interface (HDMI) compliant devices, and/orwireless devices. When connected to an external cable box 168 g orsatellite dish 1681, the Intelligent TV 100 can access additional mediacontent. Also, as further described below, the Intelligent TV 100 iscapable of receiving digital and/or analog signals broadcast by TVstations. The Intelligent TV 100 can be configured as one or more of astandard-definition television, enhanced television, and high-definitiontelevision. It may operate as one or more of cable, Internet, InternetProtocol, satellite, web, and/or smart television. The Intelligent TV100 may also be used to control the operation of, and may interfacewith, other smart components such as security systems 172, door/gatecontrollers 176, remote video cameras 180, lighting systems 184,thermostats 188, refrigerators 192, and other appliances.

Intelligent TV:

FIGS. 2A-2D illustrate components of the Intelligent TV 100. In general,as shown by FIG. 2A, the Intelligent TV 100 can be supported by aremovable base or stand 204 that is attached to a frame 208. The frame208 surrounds edges of a display screen 212, leaving a front surface ofthe display screen 212 uncovered. The display screen 212 may comprise aLiquid Crystal Display (LCD) screen, a plasma screen, Light EmittingDiode (LED) screen, or other screen types. In embodiments, the entirefront surface of the screen 212 may be touch sensitive and capable ofreceiving input by the user touching the front surface of the screen212.

The Intelligent TV 100 may include integrated speakers 216 and at leastone microphone 220. A first area of the frame 208 may comprise ahorizontal gesture capture region 224 and second areas comprise verticalgesture capture regions 228. The gesture capture regions 224, 228 maycomprise areas or regions that are capable of receiving input byrecognizing gestures made by the user, and in some examples, without theneed for the user to actually touch the screen 212 surface of theIntelligent TV 100. However, the gesture capture regions 224, 228 maynot include pixels that can perform a display function or capability.

One or more image capture devices 232, such as a camera, can be includedfor capturing still and/or video images. The image capture device 232can include or be associated with additional elements, such as a flashor other light source 236 and a range finding device 240 to assistfocusing of the image capture device. In addition, the microphone 220,gesture capture regions 224, 228, image capture devices 232, and therange finding device 240 may be used by the Intelligent TV 100 torecognize individual users. Additionally or alternatively, theIntelligent TV 100 may learn and remember preferences associated withthe individual users. In some embodiments, the learning and remembering(i.e., identifying and recalling stored information) may be associatedwith the recognition of a user.

An IR transmitter and receiver 244 may also be provided to connect theIntelligent TV 100 with a remote control device (not shown) or other IRdevices. Additionally or alternatively, the remote control device maytransmit wireless signals via RF, light, and/or a means other than IR.Also shown in FIG. 2A is an audio jack 248, which may be hidden behind apanel that is hinged or removable. The audio jack 248 accommodates atip, ring, sleeve (TRS) connector, for example, to allow the user toutilize headphones, a headset, or other external audio equipment.

The Intelligent TV 100 can also include a number of buttons 252. Forexample, FIG. 2A illustrates the buttons 252 on the top of theIntelligent TV 100, although the buttons could be placed at otherlocations. As shown, the Intelligent TV 100 includes six buttons 252a-f, which can be configured for specific inputs. For example, the firstbutton 252 a may be configured as an on/off button used to controloverall system power to the Intelligent TV 100. The buttons 252 may beconfigured to, in combination or alone, control a number of aspects ofthe Intelligent TV 100. Some non-limiting examples include, but are notlimited to, overall system volume, brightness, the image capture device,the microphone, and initiation/termination of a video conference.Instead of separate buttons, two of the buttons may be combined into arocker button. This rocker button arrangement may be useful insituations where the buttons are configured to control features such asvolume or brightness. In some embodiments, one or more of the buttons252 are capable of supporting different user commands. By way ofexample, a normal press has a duration commonly of less than about 1second and resembles a quick input. A medium press has a durationcommonly of 1 second or more but less than about 12 seconds. A longpress has a duration commonly of about 12 seconds or more. The functionof the buttons is normally specific to the application that is active onthe Intelligent TV 100. In the video conference application for instanceand depending on the particular button, a normal, medium, or long presscan mean end the video conference, increase or decrease the volume,increase a rate speed associated with a response to an input, and togglemicrophone mute. Depending on the particular button, a normal, medium,or long press can also control the image capture device 232 to increasezoom, decrease zoom, take a photograph, or record video.

In support of communication functions or capabilities, the IntelligentTV 100 can include one or more shared or dedicated antennae 256 andwired broadband connections 260 as shown in FIG. 2B. The antennae 256also enable the Intelligent TV 100 to receive digital and/or analogbroadcast TV channels. The wired broadband connections 260 are, forexample, a Digital Subscriber Line (DSL), an optical line, an Ethernetport, an IEEE 1394 interface, or other interfaces. The Intelligent TV100 also has a telephone line jack 262 to further provide communicationscapability.

In addition to the removable base 204, the Intelligent TV 100 mayinclude hardware and mounting points 264 on a rear surface to facilitatemounting the Intelligent TV 100 to a surface, such as a wall. In oneexample, the Intelligent TV 100 may incorporate at least one VideoEquipment Standards Association (VESA) mounting interface for attachingthe device 100 to the surface.

As shown in FIG. 2C, the Intelligent TV 100 may include dockinginterfaces or ports 268. The docking ports 268 may include proprietaryor universal ports to support the interconnection of the Intelligent TV100 to other devices or components, which may or may not includeadditional or different capabilities from those integral to theIntelligent TV 100. In addition to supporting an exchange ofcommunication signals between the Intelligent TV 100 and a connecteddevice or component, the docking ports 268 can support the supply ofpower to the connected device or component. The docking ports 268 canalso comprise an intelligent element that comprises a docking module forcontrolling communications or other interactions between the IntelligentTV 100 and the connected device or component.

The Intelligent TV 100 also includes a number of card slots 272 andnetwork or peripheral interface ports 276. The card slots 272 mayaccommodate different types of cards including subscriber identitymodules (SIM), secure digital (SD) cards, MiniSD cards, flash memorycards, and other cards. Ports 276 in embodiments may includeinput/output (I/O) ports, such as universal serial bus (USB) ports,parallel ports, game ports, and high-definition multimedia interface(HDMI) connectors.

An audio/video (A/V) I/O module 280 can be included to provide audio toan interconnected speaker or other device, and to receive audio inputfrom a connected microphone or other device. As an example, the audioinput/output interface 280 may comprise an associated amplifier andanalog to digital converter.

Hardware Features:

FIG. 3 illustrates components of an Intelligent TV 100 in accordancewith embodiments of the present disclosure. In general, the IntelligentTV 100 includes a primary screen 304. Screen 304 can be a touchsensitive screen and can include different operative areas.

For example, a first operative area, within the screen 304, may comprisea display 310. In some embodiments, the display 310 may be touchsensitive. In general, the display 310 may comprise a full color,display.

A second area within the screen 304 may comprise a gesture captureregion 320. The gesture capture region 320 may comprise an area orregion that is outside of the display 310 area, and that is capable ofreceiving input, for example in the form of gestures provided by a user.However, the gesture capture region 320 does not include pixels that canperform a display function or capability.

A third region of the screen 304 may comprise a configurable area 312.The configurable area 312 is capable of receiving input and has displayor limited display capabilities. In embodiments, the configurable area312 may present different input options to the user. For example, theconfigurable area 312 may display buttons or other relatable items.Moreover, the identity of displayed buttons, or whether any buttons aredisplayed at all within the configurable area 312 of a screen 304, maybe determined from the context in which the Intelligent TV 100 is usedand/or operated.

In an exemplary touch sensitive screen 304 embodiment, the touchsensitive screen 304 comprises a liquid crystal display extending acrossat least those regions of the touch sensitive screen 304 that arecapable of providing visual output to a user, and a capacitive inputmatrix over those regions of the touch sensitive screen 304 that arecapable of receiving input from the user.

One or more display controllers 316 may be provided for controlling theoperation of the screen 304. The display controller 316 may control theoperation of the touch sensitive screen 304, including input (touchsensing) and output (display) functions. The display controller 316 mayalso control the operation of the screen 304 and may interface withother inputs, such as infrared and/or radio input signals (e.g.,door/gate controllers, alarm system components, etc.). In accordancewith still other embodiments, the functions of a display controller 316may be incorporated into other components, such as a processor 364.

The processor 364 may comprise a general purpose programmable processoror controller for executing application programming or instructions. Inaccordance with at least some embodiments, the processor 364 may includemultiple processor cores, and/or implement multiple virtual processors.In accordance with still other embodiments, the processor 364 mayinclude multiple physical processors. As a particular example, theprocessor 364 may comprise a specially configured application specificintegrated circuit (ASIC) or other integrated circuit, a digital signalprocessor, a controller, a hardwired electronic or logic circuit, aprogrammable logic device or gate array, a special purpose computer, orthe like. The processor 364 generally functions to run programming codeor instructions implementing various functions of the Intelligent TV100.

In support of connectivity functions or capabilities, the Intelligent TV100 can include a module for encoding/decoding and/orcompression/decompression 366 for receiving and managing digitaltelevision information. Encoding/decoding compression/decompressionmodule 366 enables decompression and/or decoding of analog and/ordigital information dispatched by a public television chain or in aprivate television network and received across antenna 324, I/O module348, wireless connectivity module 328, and/or other wirelesscommunications module 332. The television information may be sent toscreen 304 and/or attached speakers receiving analog or digitalreception signals. Any encoding/decoding and compression/decompressionis performable on the basis of various formats (e.g., audio, video, anddata). Encrypting module 368 is in communication with encoding/decodingcompression/decompression module 366 and enables the confidentiality ofall the data received or transmitted by the user or supplier.

In support of communications functions or capabilities, the IntelligentTV 100 can include a wireless connectivity module 328. As examples, thewireless connectivity module 328 can comprise a GSM, CDMA, FDMA and/oranalog cellular telephony transceiver capable of supporting voice,multimedia and/or data transfers over a cellular network. Alternativelyor in addition, the Intelligent TV 100 can include an additional orother wireless communications module 332. As examples, the otherwireless communications module 332 can comprise a Wi-Fi, Blutooth™,WiMax, infrared, or other wireless communications link. The wirelessconnectivity module 328 and the other wireless communications module 332can each be associated with a shared or a dedicated antenna 324 and ashared or dedicated I/O module 348.

An input/output module 348 and associated ports may be included tosupport communications over wired networks or links, for example withother communication devices, server devices, and/or peripheral devices.Examples of an input/output module 348 include an Ethernet port, aUniversal Serial Bus (USB) port, Thunderbolt™ or Light Peak interface,Institute of Electrical and Electronics Engineers (IEEE) 1394 port, orother interface.

An audio input/output interface/device(s) 344 can be included to provideanalog audio to an interconnected speaker or other device, and toreceive analog audio input from a connected microphone or other device.As an example, the audio input/output interface/device(s) 344 maycomprise an associated amplifier and analog-to-digital converter.Alternatively or in addition, the Intelligent TV 100 can include anintegrated audio input/output device 356 and/or an audio jack forinterconnecting an external speaker or microphone. For example, anintegrated speaker and an integrated microphone can be provided, tosupport near talk or speaker phone operations.

A port interface 352 may be included. The port interface 352 may includeproprietary or universal ports to support the interconnection of thedevice 100 to other devices or components, such as a dock, which may ormay not include additional or different capabilities from those integralto the device 100. In addition to supporting an exchange ofcommunication signals between the device 100 and another device orcomponent, the docking port 136 and/or port interface 352 can supportthe supply of power to or from the device 100. The port interface 352also comprises an intelligent element that comprises a docking modulefor controlling communications or other interactions between theIntelligent TV 100 and a connected device or component. The dockingmodule may interface with software applications that allow for theremote control of other devices or components (e.g., media centers,media players, and computer systems).

An Intelligent TV 100 may also include memory 308 for use in connectionwith the execution of application programming or instructions by theprocessor 364, and for the temporary or long term storage of programinstructions and/or data. As examples, the memory 308 may comprise RAM,DRAM, SDRAM, or other solid state memory. Alternatively or in addition,data storage 314 may be provided. Like the memory 308, the data storage314 may comprise a solid state memory device or devices. Alternativelyor in addition, the data storage 314 may comprise a hard disk drive orother random access memory.

Hardware buttons 358 can be included, for example, for use in connectionwith certain control operations. One or more image captureinterfaces/devices 340, such as a camera, can be included for capturingstill and/or video images. Alternatively or in addition, an imagecapture interface/device 340 can include a scanner, code reader, ormotion sensor. An image capture interface/device 340 can include or beassociated with additional elements, such as a flash or other lightsource. The image capture interfaces/devices 340 may interface with auser ID module 350 that assists in identifying users of the IntelligentTV 100.

The Intelligent TV 100 can also include a global positioning system(GPS) receiver 336. In accordance with embodiments of the presentinvention, the GPS receiver 336 may further comprise a GPS module thatis capable of providing absolute location information to othercomponents of the Intelligent TV 100. As will be appreciated, othersatellite-positioning system receivers can be used in lieu of or inaddition to GPS.

Power can be supplied to the components of the Intelligent TV 100 from apower source and/or power control module 360. The power control module360 can, for example, include a battery, an AC-to-DC converter, powercontrol logic, and/or ports for interconnecting the Intelligent TV 100to an external source of power.

Communication between components of the Intelligent TV 100 is providedby bus 322. Bus 322 may comprise one or more physical buses for control,addressing, and/or data transmission. Bus 322 may be parallel, serial, ahybrid thereof, or other technology.

Firmware and Software:

An embodiment of the software system components and modules 400 is shownin FIG. 4. The software system 400 may comprise one or more layersincluding, but not limited to, an operating system kernel 404, one ormore libraries 408, an application framework 412, and one or moreapplications 416. The one or more layers 404-416 can communicate witheach other to perform functions for the Intelligent TV 100.

An operating system (OS) kernel 404 contains the primary functions thatallow the software to interact with hardware associated with theIntelligent TV 100. Kernel 404 can include a collection of software thatmanages the computer hardware resources and provides services for othercomputer programs or software code. The operating system kernel 404 isthe main component of the operating system and acts as an intermediarybetween the applications and data processing done with the hardwarecomponents. Part of the operating system kernel 404 can include one ormore device drivers 420. A device driver 420 can be any code within theoperating system that helps operate or control a device or hardwareattached to or associated with the Intelligent TV 100. The driver 420can include code for operating video, audio, and/or other multimediacomponents of the Intelligent TV 100. Examples of drivers includedisplay, camera, flash, binder (IPC), keypad, WiFi, and audio drivers.

Library 408 can contain code or other components that may be accessedand implemented during the operation of the software system 400. Thelibrary 408 may contain one or more of, but is not limited to, anoperating system runtime library 424, a TV services hardware abstractionlayer (HAL) library 428, and/or a data service library 432. The OSruntime library 424 may contain the code required by the operatingsystem kernel 404 or other operating system functions to be executedduring the runtime of the software system 400. The library can includethe code that is initiated during the running of the software system400.

The TV services hardware abstraction layer 428 can include code requiredby TV services either executed in the application framework 412 or anapplication 416. The TV services HAL library 428 is specific to theIntelligent TV 100 operations that control different functions of theIntelligent TV 100. The TV service HAL library 428 can also be formedfrom other types of application languages or embodiments of differenttypes of code or formats for code beyond the hardware abstraction layer.

The data services library 432 can include the one or more components orcodes to implement components for the data services function. The dataservices function can be implemented in the application framework 412and/or applications layer 416. An embodiment of a function of the dataservices and the type of components that may be included is shown inFIG. 6.

The application framework 412 can include a general abstraction forproviding functionality that can be selected by one or more applications416 to provide specific application functions or software for thoseapplications. Thus, the framework 412 can include one or more differentservices, or other applications, that can be accessed by theapplications 416 to provide general functions across two or moreapplications. Such functions include, for example, management of one ormore of windows or panels, surfaces, activities, content, and resources,The application framework 412 can include one or more, but is notlimited to, TV services 434, TV services framework 440, TV resources444, and user interface components 448.

The TV services framework 440 can provide an additional abstraction fordifferent TV services. TV services framework 440 allows for the generalaccess and function of services that are associated with the TVfunctionality. The TV services 436 are general services provided withinthe TV services framework 440 that can be accessed by applications inthe applications layer 416. The TV resources 444 provide code foraccessing TV resources 444 including any types of storage, video, audio,or other functionality provided with the Intelligent TV 100. The TVresources 444, TV services 436, and TV services framework 440 providefor the different implementations of TV functionality that may occurwith the Intelligent TV 100.

One or more user interface components 448 can provide general componentsfor display of the Intelligent TV 100. The user interface components 448might be general components that may be accessed by differentapplications provided in the application framework 412. The userinterface components 448 may be accessed to provide for panels and silosas described in conjunction with FIG. 5.

The applications layer 416 can both contain and execute applicationsassociated with the Intelligent TV 100. Applications layer 416 mayinclude one or more of, but is not limited to, a live TV application452, a video on demand application 456, a media center application 460,an application center application 464, and a user interface application468. The live TV application 452 can provide live TV over differentsignal sources. For example, the live TV application, 452, can provideTV from input from cable television, over air broadcasts, from satelliteservices, or other types of live TV services. Live TV application 452may then present the multimedia presentation or video and audiopresentation of the live television signal over the display of theIntelligent TV 100.

The video on demand application 456 can provide for video from differentstorage sources. Unlike Live TV application 452, video on demand 456provides for display of videos that are accessed from some memorysource. The sources of the video on demand can be associated with usersor with the Intelligent TV 100 or some other type of service. Forexample, the video on demand 456 may be provided from an iTunes librarystored in a cloud, from a local disc storage that contains stored videoprograms, or from some other source.

The media center application 460 can provide applications for differenttypes of media presentation. For example, the media center 460 canprovide for displaying pictures or audio that is different from, butstill accessible by the user and different from live TV or video ondemand. The media center 460 allows for the access of different sourcesto obtain the media in the display of such media on the Intelligent TV100.

The application center 464 allows for the provision, storage and use ofapplications. An application can be a game, a productivity application,or some other application generally associated with computer systems orother devices, but may be operated within the Intelligent TV 100. Anapplication center 464 may obtain these applications from differentsources, store them locally and then execute those types of applicationsfor the user on the Intelligent TV 100.

User interface application 468 provides for the specific user interfacesassociated with the Intelligent TV 100. These user interfaces caninclude the silos and panels that are described in FIG. 5. An embodimentof the user interface software 500 is shown in FIG. 5. Here theapplication framework 412 contains one or more code components whichhelp control the user interface events while one or more applications inthe applications layer 416 affects the user interface use for theIntelligent TV 100. The application framework 412 can include a silotransition controller 504 and/or an input event dispatcher 508. Theremay be more or fewer code components in the application framework 412than those shown in FIG. 5. The silo transition controller 504 containsthe code and language that manages the transitions between one or moresilos. A silo can be a vertical user interface feature on theIntelligent TV 100 that contains information for a user. The transitioncontroller 504 can manage the changes between two silos when an eventoccurs in the user interface. The input event dispatcher 508 can receiveuser interface events that may be received from the operating system andprovided to the input event dispatcher 508. These events can includeselections of buttons on a remote control or on the TV or other types ofuser interface inputs. The input event dispatcher 508 may then sendthese events to a silo manager 532 or panel manager 536 depending on thetype of the event. The silo transition controller 504 can interface withthe silo manager 532 to affect changes in the silos.

The applications layer 416 can include a user interface application 468and/or a silo application 512. The applications layer 416 can includemore or fewer user interface applications as necessary to control theuser interface of the Intelligent TV 100 than those shown in FIG. 5. Theuser interface application 468 can include a silo manager 532, a panelmanager 536, and one or more types of panels 516-528. The silo manager532 manages the display and/or features of silos. The silo manager 532can receive or send information from the silo transition controller 504or the input event dispatcher 508 to change the silos displayed and/orto determine types of input received in the silos.

A panel manager 536 is operable to display panels in the user interfaceto manage transitions between those panels or to affect user interfaceinputs received in the panel. The panel manager 536 may thus be incommunication with different user interface panels such as a globalpanel 516, a volume panel 520, a settings panel 524, and/or anotification panel 528. The panel manager 536 can display these types ofpanels depending on the inputs received from the input event dispatcher508. The global panel 516 may include information that is associatedwith the home screen or top level hierarchal information for the user. Avolume panel 520 may display information about an audio volume controlor other settings for volume. A settings panel 524 can includeinformation displayed about the settings of the audio or video, or othersettable characteristics of the Intelligent TV 100. A notification panel528 can provide information about notifications to a user. Thesenotifications can be associated with information, such as, video ondemand displays, favorites, currently provided programs, or otherinformation. Notifications can be associated with the media or with sometype of setting, or operation or the Intelligent TV 100. The panelmanager 536 may be in communication with the panel controller 552 of thesilo application 512.

The panel controller 552 may operate to control portions of the panelsof the types described previously. Thus, the panel controller 552 may bein communication with a top panel application 540, an application panel544, and/or bottom panel 548. These types of panels may be differentlydisplayed in the user interface of the Intelligent TV 100. The panelcontrol thus may be based on the configuration of the system or the typeof display being used currently, put the types of panels 516-528 into acertain display orientation governed by the top panel application 540,application panel 544, or bottom panel application 548.

An embodiment of the data service 432 and the operation of the datamanagement is shown in FIG. 6. The data management 600 can include oneor more code components that are associated with different types ofdata. For example, there may be code components within the data service432 that execute and are associated with video on demand, the electronicprogram guide, or media data. There may be more or fewer types of dataservice 432 components than those shown in FIG. 6. Each of the differenttypes of data may include a data model 604-612. The data models governwhat information is to be stored and how that information will be storedby the data service. Thus, the data model can govern regardless of wherethe data comes from, how the data will be received or managed within theIntelligent TV system. Thus, the data model 604, 608, and/or 612, canprovide a translation ability or affect the ability to translate datafrom one form to another to be used by the Intelligent TV 100.

The different types of data services (video on demand, electronicprogramming guide, media) each have a data subservice 620, 624, and/or628 that is in communication with one or more internal and/or externalcontent provider modules 616. The data subservices 620, 624, and 628that communicate with the content provider modules 616 to obtain datathat may then be stored in databases 632, 636, and 640. The subservices620, 624, and 628 may communicate with and initiate or enable one ormore source plug-ins 644, 648, and 652 to communicate with the contentprovider. For each content provider 616, there may be a different sourceplug-in 644, 648, and 652. Thus, if there is more than one source ofcontent for the data, each of the data subservices 620, 624, and 628 maydetermine and then enable or initiate a different source plug-in 644,648, and/or 652. The content provider modules 616 may also provideinformation to a resource arbitrator 656 and/or thumbnail cache manager660. The resource arbitrator 656 may operate to communicate withresources 664 that are external to the data service 432. Thus, theresource arbitrator 656 may communicate with cloud based storage,network based storage, or other types of external storage in theresources 664. This information may then be provided through the contentprovider module 616 to the data subservices 620, 624, 628. Likewise, athumbnail cache manager 660 may obtain thumbnail information from one ofthe data subservices 620, 624, 628 and store that information in thethumbnails database 668. Further the thumbnail cache manager 660 mayextract or retrieve that information from the thumbnails database 668 toprovide to one of the data subservices 620, 624, 628.

An exemplary content aggregation architecture 1300 is shown in FIG. 13.The architecture can include a user interface layer 1304 and a contentaggregation layers 1308. The user interface layer 1304 may include a TVapplication 1312, media player 1316, and application(s) 1320. The TVapplication 1312 enables the viewer to view channels received via anappropriate transmission medium, such as cable, satellite, and/or theInternet. The media player 1316 views other types of media received viaan appropriate transmission medium, such as the Internet. Theapplication(s) 1320 include other TV-related (pre-installed)applications, such as content viewing, content searching, deviceviewing, and setup algorithms, and coordinates with the media player1316 to provide information to the viewer.

The content source layer 1308 includes, as data services, a contentsource service 1328, a content aggregation service 1332 and a contentpresentation service 1336. The content source service 1328 can managecontent source investigators, including local and/or network filesystem(s), digital network device manager (which discovers handheld andnon-handheld devices (e.g., digital media servers, players, renderers,controllers, printers, uploaders, downloaders, network connectivityfunctions, and interoperability units) by known techniques, such as amulticast universal plug and play or UPnP discovery techniques, and, foreach discovered device, retrieves, parses, and encodes devicedescriptors, notifies the content source service of the newly discovereddevice, and provides information, such as an index, on previouslydiscovered devices), Internet Protocol Television or IPTV, digitaltelevision or DTV (including high definition and enhanced TV), thirdparty services (such as those referenced above), and applications (suchas Android applications).

Content source investigators can track content sources and are typicallyconfigured as binaries. The content source service 1328 starts contentsource investigators and maintains open and persistent channels forcommunications. The communications include query or command and responsepairs. The content aggregation service 1332 can manage content metadatafetchers, such as for video, audio, and/or picture metadata. The contentpresentation service 1336 may provide interfaces to the content index1340, such as an Android application interface and digital deviceinterfaces.

The content source service 1328 can send and receive communications 1344to and from the content aggregation service 1332. The communications caninclude notifications regarding new and removed digital devices and/orcontent and search queries and results. The content aggregation service1332 can send and receive communications 1348 to and from the contentpresentation service 1336 including device and/or content lookupnotifications, content-of-interest advisories and notifications, andsearch queries and results.

When a search is performed, particularly when the user is searching orbrowsing content, a user request may be received from the user interfacelayer 1300, by the content presentation service 1336, which responsivelyopens a socket and sends the request to the content aggregation service1332. The content aggregation service 1332 first returns results fromthe local database 1340. The local database 1340 includes an index ordata model and indexed metadata. The content source service 1328 furtherissues search and browse requests for all content source investigatorsand other data management systems. The results are forwarded to thecontent aggregation service 1332, which updates the database 1340 toreflect the further search results and provides the original contentaggregation database search results and the data updates, reflecting theadditional content source service search results, over the previouslyopened socket to the content presentation service 1336. The contentpresentation service 1336 then provides the results to one or morecomponents in the user interface layer 1300 for presentation to theviewer. When the search session is over (e.g., the search session isterminated by the user or by an action associated with the user), theuser interface layer 1300 disconnects the socket. As shown, media can beprovided directly by the content aggregation service 1332 to the mediaplayer 1316 for presentation to the user.

Remote Control:

A handheld remote control can be provided to enable user interactionwith the Intelligent TV 100. An exemplary handheld remote control isshown in FIGS. 7-9. The remote control 700 can include one or more of,but is not limited to, top, side and bottom housings 704, 708, and 712,an (on/off) power button 716, an input source button 720 (to selectinput source such as Live TV, video on demand, media center, applicationcenter, high definition multimedia interface or HDMI, component or COMP,audio/Video or A/V, digital or analog television or DTV/ATV, and videographics array (VGA)), a (volume) mute button 724, a Live TV button 728(to activate or select the Live TV silo), a video on demand (VOD) button732 (to activate or select the video on demand silo), a media centerbutton 736 (to activate or select the media center application or silo,which access various types of media such as music, TV programming,videos, and the like), an application center button 740 (to activate orselect the application center application or silo), a global panelbutton 744, an application panel button 748, a back button 752 (toselect a prior user operation or Intelligent TV state and/or navigate upa hierarchy of any displayed image or object(s) (in which case the backbutton 752 does not navigate within application panels or acrossapplication silos), a play button 756 (to play or pause media), a D-pad760 (which includes north, east, west, and south directional arrows tonavigate among displayed images and/or move between levels of anapplication's or object's hierarchy such as application view navigation,panel navigation, and collection navigation), an OK (or select) button764 (to select a highlighted displayed image (such as displayed speedcontrol, rewind, forward, play, and pause objects and/or objects on menubar or in a menu box) and/or navigate down a hierarchy of any displayedimage or object(s)), a rocker-type volume-up and volume-down button 768(to adjust the volume), a menu/guide button 772 (to select for display amenu or guide of programming), a 0-9 (number) button 776 (to display anumber pad on the TV screen), a settings button 780, which launches anapplication to access current and change TV settings (such as channelsettings and settings used to adjust picture and sound effects (e.g.,image mode (e.g., standard, playground, game, cinema, concert, andstudio), brightness, contrast, saturation, color temperature, energysavings, 3D noise reduction, hue, sharpness, zoom mode (e.g., fullscreen, standard, smart zoom, and dot-to-dot), picture position, 3Dmode, for picture, and sound retrieval system or SRS TruSurround, soundmode (e.g., standard, live 1, live 2, theatre, music, speech, userequalizer mode, Left/Right speaker balance, auto volume control,Sony/Philips Interconnect Format or S/PDIF (off, auto, pulse codemodulation or PCM) for sound) and system settings (such as system (e.g.,selected language for graphical user interface, user geographical and/orgeopolitical location information, input method, area settings, andsleep time), network (e.g., WiFi, WiFi hotspot, WiFi direct,Point-to-Point Protocol over Ethernet or PPPoE (asymmetric digitalsubscriber line or ADSL), Ethernet) settings (e.g., enabled and disabledand selected and non-selected) and information (e.g., networkinformation (e.g., electronic address such as Internet Protocol or IPaddress, subnet mask, gateway, domain name server information, domainname, Media Access Control or MAC address, service set identification orSSID, security information, and password information) and inlinestatus), manage applications (e.g., currently installed applications,currently executing applications, and internal and external computerreadable medium usage), and view user information regarding theIntelligent TV 100)), a rocker-type channel-up and channel-down button784 (to increment or decrement the selected channel), and first, second,third and fourth hotkeys 788, 792, 794, and 796, and/or a moveablejoystick 900 on a bottom of the remote control 700. The first, second,third, and fourth hotkeys are generally assigned different colors, whichcolor indexing is depicted as visual indicia on a selected panel to showthe currently assigned function, if any, for each hotkey. As can beseen, the actuator layout can provide a highly efficient, satisfactory,and easily usable experience to the end user.

Unlike the functional associations and functions of many of theactuators, those of some of the actuators are not readily apparent. Anumber of examples will now be discussed by way of illustration.

The media center button 736, when selected, can provide informationregarding music, videos, photographs, collections or groupings of music,videos, and/or photographs, and internal and external computationaldevices (such as personal computers, laptops, tablet computers, wirelessphones, removable computer readable media, and the like), which can begrouped in a selected manner (such as favorites, most recently viewed,most watched or viewed, and most recently added). The information caninclude previews (which can include selected portions of the mediacontent, duration, file size, date created, date last watched, timeswatched or viewed, and audio and/or video format information).

The application center button 740, when selected, may provideinformation regarding pre-installed and downloaded applications. Unlikedownloaded applications, pre-installed applications cannot be removed bythe user or manually updated. Exemplary pre-installed applicationsinclude a web browser, settings control, and content search algorithms.By way of illustration, the application center button 740 can provide ascrollable graphical grid of icons (each icon being associated with anapplication) currently available in the application center.

The global panel button 744, when selected, can provide the user, viaone or more panels or windows, with access to one or more of, but notlimited to, silos, notifications, a web browser, system settings, and/orinformation associated therewith. For example, the global panel button744 can enable the user to determine what external devices are currentlyconnected to and/or disconnected from the Intelligent TV 100, determinewhat inputs (e.g., HDMI ports) are currently available for connecting toexternal devices, determine a connection and/or operational status of aselected external device and/or network (e.g., WiFi connected, Ethernetconnected, and offline), assign a custom (or user selected) name to eachinput source, determine what content is currently being offered on LiveTV, on demand, the media center, and/or the application center, accessvendor messages and notifications to the user (e.g., system and/orapplication updates are available), activate the Internet browser,and/or access shortcuts on a displayed shortcut bar to more frequentlyused and desired applications. Common shortcuts are Internet browser(e.g., Internet search engine), system settings, and notifications. Thecommon types of panels are for information (which is typicallyinformation related to a currently displayed image and/or content (e.g.,title, date/time, audio/visual indicator, rating, and genre), browserequests, and/or search requests (such as search term field)). Each ofthe panel types may include a panel navigation bar, detailed informationor relevant content to the panel function, operation and/or purpose, anda hotkey bar (defining currently enabled functional associations ofhotkeys).

The application panel button 748, when selected, can display anapplication window or panel. One application panel may be an informationpanel regarding a selected (pre-installed or previously downloaded)application icon. The information panel can identify one or more of theselected application, provide a description of the functionality(including application developer and/or vendor, version, release, and/orlast update date and a category or type of application based on theapplication's functionality) and user ratings and/or degree of otheruser(s), downloading of the application (e.g., a star rating assignedbased on one or more of the foregoing inputs), provide the option tolaunch, remove, update, and add to favorites the identified application,and provide a listing of selectable links of other (not yet downloaded)recommended applications that provide similar functionality to theidentified application. The latter listing can, in turn, provide adescription of the functionality (including application developer and/orvendor, version, release, and/or last update date and a category or typeof application based on the application's functionality) and userratings and/or degree of other user downloading of the application(e.g., a star rating assigned based on one or more of the foregoinginputs).

The functions of the first, second, third, and fourth hotkeys 788, 792,794, and 796 can change depending on system state, context, and/or,within a selected screen and/or panel, based on a content or currentlyselected portion of (or relative cursor position on) the screen.Commonly, a currently assigned function of any of the first, second,third, and fourth hotkeys 788, 792, 794, and 796 depends on a currentlyaccessed silo and/or panel (with which the user is currently interactingwithin the silo). In other words, a first function of one of the first,second, third, and fourth hotkeys 788, 792, 794, and 796 is activated bythe respective hotkey in a first system state while a different secondfunction is activated by the respective hotkey in a different secondsystem state. In another example, a third function of one of the first,second, third, and fourth hotkeys 788, 792, 794, and 796 is activated bythe respective hotkey when a user focus (or currently selected cursorposition or screen portion) is at a first screen position while adifferent fourth function is activated by the respective hotkey when auser focus (or currently selected cursor position or screen portion) isat a different second screen position. The first screen position can,for instance, be within an icon while the second screen position isoutside of the icon. Hotkey functionality that could be enabled when inthe first screen position may be “configure” and “remove” and disabledis “add,” and, when in the second position hotkey functionality enabledcan be “add” and disabled is “configure” and “remove.” Generally, thestates of hotkeys can include normal (for enabled actions or functions),disabled (when an action or function is temporarily disabled), pressed(when selected by a user to command an action or function to beperformed), and unavailable (when no association between the hotkey andan action or function is currently available). While examples of hotkeyfunctions are discussed below, it is to be understood that these are notintended to be exhaustive or limiting examples.

The first hotkey 788, when selected in a first system state, can enablethe user to assign, change, or edit a name of an input source. It istypically enabled only when the input source of HDMI, Comp/YPbPr (e.g.,component video cables), video output, and VGA is in focus. Whenselected in a second system state, the first hotkey 788 can return theuser to a top of a scrollable collection of objects, such as applicationicons.

The second hotkey 792 may show all or less. In other words, the hotkey792 can allow the user to show all inputs, including theunconnected/undetected ones and to hide the unconnected/undetectedinputs, e.g., to expand and collapse the silo/input list. Each inputsource can have one of two states, namely connected/detected andunconnected/undetected. Some input sources, including Live TV, video ondemand, media center, and application center are alwaysconnected/detected.

The moveable joystick 900 on the bottom of the remote control 700, whenmanipulated, can cause a displayed image on the Intelligent TV 100screen to be displaced a proportional amount. In other words, thedisplayed image is displaced substantially simultaneously withdisplacement of the joystick 900 within the joystick aperture 904 in thebottom housing 712 of the remote control. As shown in FIGS. 9B-C, thejoystick 900 moves or slides between forward and reverse positions.Releasing the joystick 900 causes the joystick 900 to return to thecenter position of FIG. 9A, and the window to move or slide upwardly(when the joystick is released from the joystick position of FIG. 9B) ordownwardly (when the joystick is released from the joystick position ofFIG. 9C) until it disappears from view as shown in FIG. 11A. The effecton the screen of the Intelligent TV 100 is shown in FIGS. 11A-C. In FIG.11A, video content, such as TV programming, a video, movie, and thelike, is being displayed by front surface of the screen 212. In FIG.11B, the joystick 900 is moved or slid to the upper position of FIG. 9B,and a drop down window or panel 1100 moves or slides down (at thesubstantially the same rate of joystick 900 movement) at the top of thescreen 212. In FIG. 11C, the joystick 900 is moved or slid to the lowerposition of FIG. 9C, and a drop up window or panel 1100 moves or slidesup (at the substantially the same rate of joystick 900 movement) at thebottom of the screen 212. The window 1100 partially covers the videocontent appearing on the remainder of the screen 212 and/or causes aportion of the screen 212 displaying video content to move and/orcompress up or down the height of the window 1100.

The window 100 can include one or more of information (which istypically information related to a currently displayed image and/orcontent (e.g., panel navigation bar, detailed information (e.g., title,date/time, audio/visual indicator, rating, and genre), and hotkey bar(defining current functional associations of hotkeys)), browse requests,and/or search requests. Commonly, the window 1100 includes suitableinformation about the content (such as name, duration, and/or remainingviewing duration of content), settings information, TV or system controlinformation, application (activation) icons (such as for pre-installedand/or downloaded applications such as application center, media centerand Web browser), and/or information about input source(s), When thejoystick 900 is in either the forward or reverse position, the user canselect an actuator on the front of the remote control, such as the OKbutton 764, and be taken, by displayed images on the screen 212, toanother location in the user interface, such as a desktop. This processcan be done in an nonintrusive manner and without affecting the flow ofcontent that is pushed up or down. The joystick 900 could be moved,additionally or differently, from side-to-side to cause the window toappear at the left or right edge of the screen 212.

An alternative actuator configuration is shown in FIG. 10. The actuatorsare substantially the same as those of FIGS. 7-9 except that the socialnetwork button 1000, when selected, can automatically select content andpublish, via a social network service or other social media, the contentto a social network or online community. User or viewer comments and/orother messages can be included in the outbound message. For example, allor one or frames or portions of media content (such as a video, music, aphotograph, a picture, or text) can be provided automatically to apredetermined or selected group of people via Linked-In™, MySpace™,Twitter™, YouTube™, DailyMotion™, Facebook™, Google+™ or Second Life™The user, upon activating the button 1000 could, in response, select asocial forum or media upon which the selected content (which is thecontent displayed to the user when the social network button 1000 isactivated) is to be posted and/or a predetermined group within thatsocial media to which the content is to be posted. Alternatively, theseselections could be preconfigured or preselected by the user.

The social network button can also be used to “turn up” or “turn down” asocial volume visualization. The Intelligent TV 100 can createdynamically a visualization of aggregated connections (and inboundand/or outbound messages) from a variety of social networks. Theaggregation (and inbound and outbound messages) can be depictedgraphically on the screen as a volume of connections to influence theviewer user. With a social volume visualization, selected contents ofeach linked social network profile of a social contact (and inboundand/or outbound messages from or to the linked social network contactand/or current activity of the social contact (such as watching the sameprogramming or content the viewer is currently watching) can bepresented in a separate tile (or visually displayed object). The size ofthe tile can be related to any number of criteria, including arelationship of the linked social contact (e.g., a relative degree ofimportance or type of relationship can determine the relative size ofthe tile, a degree of influence of the linked social contact to thecurrent viewer, a geographic proximity of the linked social contact tothe current viewer, a degree to which the currently provided mediacontent is of interest to both the viewer and linked social contact(e.g., both parties enjoy war movies, murder mysteries, musicals,comedies, and the like), an assigned ranking of the linked viewer by theviewer, a type of social network type linking the viewer with the linkedsocial contact, a current activity of the social network contact (e.g.,currently watching the same content that the viewer is currentlywatching), a current online or offline status of the linked socialcontact, and a social network grouping type or category to which boththe viewer and linked social contact belong (e.g., work contact, bestfriend, family member, etc.).

The viewer can designate a portion of the screen to depict the socialnetwork aggregation. By turning the social volume up (+) or down (−),the viewer can increase the size and/or numbers of linked contact tilesprovided to the viewer. In other words, by increasing the social volumethe viewer can view, access, and/or push more social content from thoseof his or her social networks associated with him or her in a memory ofthe Intelligent TV 100. By decreasing the social volume, the viewer canview, access, and/or push less social content from his or her associatedsocial networks. By selecting the mute button 724, the viewer can stopor pause any interactivity with his or her associated social networks(e.g., inbound or outbound messages). Social volume and/or mute can beseparated into two (or more) volume settings for outbound and inboundsocial network activity. By way of illustration, a first volume setting,control, and/or button can control the volume for outbound socialnetwork activity (e.g., outbound social messages) while a second(different) volume setting, control, and/or button can control thevolume for inbound social network activity (e.g., inbound socialmessages). By way of further illustration, a first mute setting,control, and/or button can stop or pause outbound social networkactivity (e.g., outbound social messages) while a second (different)mute setting, control, and/or button can stop or pause inbound socialnetwork activity (e.g., inbound social messages).

A functional block diagram of the remote control is shown in FIG. 12.The remote control 700 includes a controller 1208 to control andsupervise remote control operations, optional wireless (RF) transceiver1224 and antenna 1244 to send and receive wireless signals to and fromthe Intelligent TV 100 and other external components, optional infraredemitter 1228 to emit infrared signals to the Intelligent TV 100,optional light emitting diode or LED driver 1232 to control LEDoperation to provide video-enabled feedback to the user, actuators 1220(including the various buttons and other actuators discussed above inconnection with FIGS. 7 and 10), and joystick 900, all interconnectedvia a bus 1248. An on board power source 1200 and power managementmodule 1204 provide power to each of these components via powercircuitry 1240. The infrared emitter 1228 and receiver (not shown) onthe Intelligent TV system 100 can be used to determine a displayedobject illuminated by the infrared signal and therefore adjust thedisplayed image, for example to indicate a focus of the user (e.g.,illuminate a displayed object or show cursor position relative todisplayed objects on the screen) and to determine and activate a desiredcommand of the user. This can be done by tracking a position of theremote control in relation to infrared tracking reference points (e.g.,a sensor bar or infrared LED's) positioned on or adjacent to the screenof the Intelligent TV 100. Motion tracking can further be augmentedusing position information received from a multi-axis gyroscope and/oraccelerometer on board the remote control (not shown).

FIG. 14 shows a data service 432 and the operation of the datamanagement 1400 according to an embodiment. Similar to data management600 shown with respect to FIG. 6, data management 1400 is supported bydata service 432 according to another embodiment.

The data management 1400 includes one or more code components that areassociated with different types of data. For example, code componentsmay include codes associated with video on demand (VOD), electronicprogram guide (EPG), media data, and/or other codes. Codes componentsare executable and a part of data service 432. Data management mayassociate and access the code components as needed.

Each of the different types of data may include a data model (i.e., VODdata model 1404, EPG data model 1408, and media data model 1412). Thedata models define what and how information is to be stored by the dataservice. Thus, the data model can be defined to accommodate a variety ofdata sources without discriminating as to where the data comes from andhow the data will be received or managed within the Intelligent TVsystem. Thus, the data models provide translation ability and/or affectthe ability to translate data from one form to another to be used by theIntelligent TV 100.

The different types of data services (video on demand, electronicprogramming guide, media) each have a data subservice component (i.e.,VOD subservice 1420, EPG subservice 1424, and media subservice 1428)that is in communication with one or more internal and/or externalsources. Each data subservice component is in communication with thecorresponding source plugins (i.e., VOD source plugins 1444 a-n for VODsubservice 1420, EPG source plugins 1448 a-n for EPG source subservice1424, and media source plugins 1452 a-n for media source subservice1428).

In one implementation, the corresponding source plugins 1444 a-n, 1448a-n, and 1452 a-n can operate within the data management 1400 tointerface, communicate, and/or query with external sources to gatherdata from these external sources. Plugins that communicate with externalsources may be internally configured and provided by Intelligent TV 100.Plugins may also be provided and configured by third-parties such as anofficial plugin for the service provided by the external source oranother third party which has developed a suitable plugin forIntelligent TV 100 to communicate with the external source using an APIor other liked platform for the external source. Plugins are developedto interface with the corresponding subservice in Intelligent TV 100 fordata management 1400.

For example, each of VOD source plugins 1444 a-n may be configured tocommunicate with one specific VOD source or some plurality of VODsources. Some VOD sources include dedicated media sources (i.e., overthe internet), such as Amazon Instant Video, AOL Video, Blockbuster,DailyMotion, Google Play, Hulu, Joost, IPTV, iTunes Store, MetaCafe,NetFlix, Pandora, PlayStation Store, Vimeo, Voddler, Vudu, WatchESPN,YouTube, Xbox Video, or other dedicated distribution platforms and othercontent websites. Other VOD sources may include over-the-air or cableVOD sources with analog or digital feeds. Smart TV 100 may also accessinternal data storage (i.e., data storage 314) or other external storage(i.e., digital media library 148) that contains additional VOD media.Further, devices connected to Intelligent TV 100 (i.e., devices 168 orother devices accessible to Intelligent TV 100 over network 132) mayalso contain additional VOD media. Each of these media sources may havea corresponding VOD source plugin developed that can communicate withthe specific media source. Further, third parties may develop a VODsource plugin that works with a number of media sources. Communicationbetween the VOD source plugin may include from simply requesting anddisplaying a requested media or may include accessing the media libraryof the media source (i.e., listing new updates or additions, recommendedmedia, listing media by genres, and/or other functions) and otherfunctions.

In another example, EPG source plugins 1448 a-n include plugins that areconfigured to communicate with various external sources. Exemplary EPGsources include analog or digital feeds from the content provider, theinternet, and/or other sources.

Content provider modules (i.e., over-the-air, cable, and/or satellitechannels) may have EPG information embedded with the content feeddelivered to the user (i.e., as a subchannel of the main content feed).EPG information that are embedded with the content feeds by the contentprovider modules may contain only limited information due to technical(i.e., limited bandwidth) and content (i.e., rights to third-partygenerated EPG contents) limitations with embedding EPG information withcontent feeds.

The Internet is also a source of EPG information. A variety of EPGinformation is distributed over the Internet for equipment or computersthat are directly connected to the Internet. EPG information over theInternet usually includes more detailed information regarding TVprogramming than with embedded EPG information in content feeds (i.e.,detailed description of programming, reviews of programming, schedule,and future programmings). Further, EPG information over the Internet mayalso contain non-text contents such as preview images, videos, andsounds.

Other sources may also provide EPG information. In some instances, acollection of feeds (i.e., cable or satellite TV) may contain a specificchannel dedicated to displaying EPG information. These EPG channels maycontain video display of an analog or digital signal containing the EPGinformation (i.e., programming schedule in chart form). Other instancesmay include a feed containing EPG information in list form (i.e., forset-top boxes or digital video recorders (DVRs)).

An exemplary EPG source plugin receives and processes EPG informationfrom a designated EPG information source. The EPG source plugin isconfigured to process the received EPG information according to thespecific format of the corresponding designated EPG information source.For example, EPG information embedded with content feeds may containlimited information that are ordered in a pre-defined format (i.e., theorder of other relevant information such as title, time, description,and/or other information about the programming). EPG information takenfrom an internet source may contain more detailed information but mayrequire parsing to organize the relevant information within datamanagement 1400. The EPG source plugin may further organize or translatethe received information into a common data format to be stored indatabase 1436. In one implementation, EPG source plugins 1448 a-n mayconvert or translate the received EPG information into a consistent datamodel for data management 1400 (i.e., EPG data model 1408) forconsistency within data management 1400 and other reasons.

Media source plugins 1452 a-n are configured to interface or communicatewith the various media sources available to Intelligent TV 100. Forexample, media sources may include media content in connected devices168 or other devices or media contents that are accessible toIntelligent TV 100 (i.e., via network 132). Each media source maycontain content in a specific format (i.e., DVD, BluRay, and otherdigital or analog formats). Further, media from live feeds (i.e., fromover-the-air broadcast, cable or satellite feeds, Internet feeds) arecontents in a live format specific to the type of feed. Further, mediacontents and feeds from the various sources may also include metadatainformation embedded with these contents (i.e., closed captions,subtitles, and other information). In one implementation, media sourceplugins 1452 a-n are configured to receive media contents andinformation for one or more of these media sources in a specific format.

Similar to as discussed with respect to the EPG source plugins 1448 a-n,VOD source plugins 1444 a-n and media source plugins 1452 a-n may needto translate the various different media format and information receivedinto a consistent model. In one implementation, information related tothe VOD or media received from a corresponding VOD source plugin ormedia source plugin can be translated according to the respective VODdata model 1404 or media data model 1412 and stored into the respectivestorage 1432 or storage 1440. The VOD or media content received can bestored directly in the respective storage 1432 or storage 1440 or may besent to the respective subservice without being stored. The format ofthe VOD or media can be decoded and played by Intelligent TV 100directly using the information regarding format received. In anotherimplementation, the VOD or media content received may be converted intoa consistent format for all contents. This may be helpful for variousdisplay configurations (i.e., displaying as thumbnails, previews, etc.)depending on the hardware configurations and capabilities of IntelligentTV 100.

In a further embodiment, each source plugin may communicate with aplurality of different service providers and may not be grouped bycriteria such as geographic area. For example, an EPG source plugin maybe configured to work with EPG sources in a country (i.e., Canadaproviding fees in English and French) or a localized region (i.e.,southwestern U.S. providing fees in English and Spanish) or feedslimited to only local stations in an area.

The data model, subservice, and source plugins for VOD, EPG, and mediacontents are discussed above according to an embodiment. In alternateembodiments, additional features may be included consistent with theframework discussed as known or may be derived by one skilled in theart.

Data management 1400 further includes a plurality of content providermodules 1416. Content provider modules 1416 works with the various datasubservices (i. e., VOD subservice 1420, EPG subservice 1424, and mediasubservice 1428) to provide customized media data and information forapplications 416 in Intelligent TV 100. Specifically, Content providermodules may serve applications 416 in Intelligent TV 100 with customizeddata and information related to live TV 452, VOD 456, media 460,application center 464, user interface 468, and/or other applications.Further, content provider modules 1416 may perform additional functionsto organize or provide data in support of other content providermodules. Exemplary content provider modules include EPG data provider1416 a, media data provider 1416 b, media browser 1416 c, media scanner1416 d, and thumbnail engine 1416 e.

In one example, EPG data provider 1416 a is configured to serveapplications with EPG information in a read-only format. In oneimplementation, EPG data provider 1416 a works with EPG subservice 1424to serve EPG information collected and stored in storage 1436. Arelevant application in applications 416 may request EPG data provider1416 a to provide relevant EPG information as needed by the relevantapplication. For example, live TV 452 may display relevant EPG as aheader when displaying a programming. Media center 460 may displayrelevant EPG information for selected programming when displayed orselected by the user via user interface 468.

In another example, media data provider 1416 b is configured to providepersonalized media metadata and stores the personalized media metadatainto a database for further access. In one implementation, thepersonalized media metadata is stored in a sqlite database. The user mayset up a personalized profile or preference for types, genres, or otherpreferred characteristics of media. The user may access and set up theprofiles in a corresponding application. Alternatively, Intelligent TV100 may contain pre-defined profiles and/or may automatically build aprofile for a user by analyzing the user's past viewing preferencesprogressively. Media data provider 1416 b may work with media subservice1428, VOD subservice 1420, and/or other subservices. For example, mediadata provider 1416 b uses the metadata regarding media collected bymedia subservice 1428 in order to generate the personalized mediametadata.

Media browser 1416 c is configured to provide a view of the mediasources in real-time. Further media browser 1416 c maintains a list ofthe connected media sources. In one implementation, media browser 1416 cdoes not require any permanent storage as media browser 1416 c isconfigured to collect real-time information. Media browser 1416 c maywork with VOD subservice 1420, media subservice 1428, and/or othersubservices to gather information pertaining to a list of media sourcesand/or contents available. For example, media subservice 1428 mayreceive information pertaining to connected devices 168 and whether theconnected devices 168 have accessible media contents via the respectivemedia source plugins 1452 a-n. Media browser 1416 c may maintain a listof the connected devices 168 in real-time and may be accessible by theuser directly or from other applications. In one implementation, mediabrowser 1416 c may run in the background or may be periodically run toupdate the list in real-time. This allows Intelligent TV 100 to have alist of connected media sources available without additional wait timeto poll device information when the information is needed.

Media scanner 1416 d is configured to provide a table of media usingdata retrieved from media browser 1416 c. In one implementation, mediascanner 1416 d rescans the information periodically and updates thetable of media. Media scanner 1416 d may provide the table of media forapplications such as media center 460 to display to the user theaccessible media. In another implementation, media scanner 1416 d mayalso work with EPG subservice 1424 to further populate the media tablewith updated EPG information.

Thumbnail engine 1416 e is configured to collect and provide thumbnailsfor media, applications, and other contents. For example, thumbnailengine 1416 e may collect or capture (i.e., screen capture a scene fromavailable media) from a variety of subservices providing content ormedia (i.e., VOD subservice 1420, media subservice 1428). Thumbnailengine may also collect available thumbnails from EPG information viaEGP subservice 1424. In one implementation, thumbnail engine 1416 e mayalso collect and provide short video previews or scenes of media.

In an embodiment, thumbnail engine 1416 e may also communicate withthumbnail cache manager 1460 and thumbnail storage 1468. Thumbnails forvarious programming may be needed for a number of applications fordisplaying programming information. Thumbnail cache manager 1460 mayseparately provide pre-cached thumbnails for the efficiency ofdisplaying graphical thumbnails which consist of larger data blocks thantext data such as EPG information. Thumbnail engine 1416 e may alsofacilitate creating and maintaining the thumbnail cache forapplications.

Resource arbitration 1456 may operate and facilitate communicationbetween the subservices, source plugins, and various resources ofIntelligent TV 100 that are external to data service 432. Thus, theresource arbitrator 1456 may communicate with cloud and/or network basedstorages 1461 or other types of external storage in the resources. Inone implementation, the information from the storages 1461 may beaccessible through the content provider modules 1416 to the sourcesplugins or the subservices as applications are accessible by IntelligentTV 100. In another implementation, the source plugins and thesubservices may directly access storage resources through resourcearbitrator 1456 depending on the hardware and for data efficiencyreasons.

Resource arbitrator 1456 may further access other resources of theIntelligent TV 100, such as video hardware 1462, display 1463, and otherresources. For example, resource arbitrator 1456 may directly accessvideo hardware 1462 and display 1463 to decode and display programminghaving a variety of encodings (i.e., DVD, BluRay, various VOD nativeformats).

FIG. 15 shows a flow diagram for processing received media or data froman external content provider 1500 for data management 1400 according toan embodiment.

Process 1500 starts by loading a source plugin for processing 1510. Datamanagement 1400 may include a number of plugins defined for a number ofcorresponding external content and/or data providers. Exemplary sourceplugins may include VOD source plugins 1444 a-n, EPG source plugins 1448a-n, and media source plugins 1452 a-n. Each source plugin is configuredto communicate with and receive information from one or more specificcontent and/or data provider. For example, VOD source plugins 1444 a-nmay communicate with dedicated media sources (i.e., over the internet),such as Amazon Instant Video, AOL Video, Blockbuster, DailyMotion,Google Play, Hulu, Joost, IPTV, iTunes Store, MetaCafe, NetFlix,Pandora, PlayStation Store, Vimeo, Voddler, Vudu, WatchESPN, YouTube,Xbox Video, or other dedicated distribution platforms and other contentwebsites. Other VOD sources may include over-the-air or cable VODsources with analog or digital feeds. EPG source plugins 1448 a-n maycommunicate with analog or digital feeds from the content provider, theinternet, and/or other sources. Media source plugins 1452 a-n maycommunicate with media content in connected devices 168 or other devicesor media contents that are accessible to Intelligent TV 100 (i.e., vianetwork 132).

Process 1500 next communicates and receives media and/or data from theexternal content provider modules via the source plugins 1520. Asdiscussed, the source plugins are configured to be able to communicatewith and receive content from the external content provider modules. Forexample, the source plugins may access the external contents directlyvia an API provided by the external content provider. The source pluginsmay also be developed by a third party that may parse the content and/orinformation provided by the external content provider without accessingthe content through an official API.

Process 1500 next converts the received media and/or data from theexternal content provider into a corresponding data model format 1530.Data management 1400 may have a number of data models for the internalstorage and management of the received content and/or data. Exemplarydata models include VOD data model 1404, EPG data model 1408, and mediadata model 1412. The received content from the various source pluginsmay be converted to the specific format handled by the respective datamodel. The data models provide uniform formats for the respectivesubservices (i.e., VOD subservice 1420, EPG subservice 1424, and mediasubservice 1428) and/or the internal content provider modules 1416 whichinterface with applications 416. In some implementations, step 1530 maybe optional as the media and/or data may be sent to storage or beprocessed by data management 1400 without any conversion.

Process 1500 next processes the received media and/or data by thecorresponding subservice 1540. Here, the respective subservices (i.e.,VOD subservice 1420, EPG subservice 1424, and media subservice 1428)process the received media and/or data to be used by internal contentprovider modules 1416 and/or applications 416. This may includeprocessing the received media and/or data according to the need of theinternal content provider modules 1416 and/or applications 416. Forexample, a content provider such as EPG data provider 1416 a may serveapplications with EPG information in a read-only format. Therefore, EPGsubservice 1424 may work with data provider 1416 a to provide read-onlyaccess the EPG information stored in EPG storage 1436. EPG subservice1424 may organize the EPG information such that only the most relevantinformation is sent to EPG data provider 1416 a (i.e., EPG subservice1424 may resolve conflicts between an Internet EPG source versus EPGinformation embedded in a content feed in order to provide the mostdetailed or up-to-date information sent to EPG data provider 1416 a).Media data provider 1416 b may require EPG information from EPGsubservice 1424 as well as media information from VOD subservice 1420 ormedia subservice 1428 in order to provide personalized media metadatainformation to relevant applications. Therefore, these subservices mayprocess the received media and/or data in order to provide the relevantinformation to media data provider 1416 b for generating thepersonalized media metadata. Further, in one implementation, thesubservices may need to allow access to storages 1432, 1436, and 1440 tomedia data provider 1416 b in order to allow media data provider 1416 bto store and access the personalized media metadata. In otherimplementations, media data provider 1416 b may store the personalizedmedia metadata in a dedicated database.

Process 1500 next communicates and provides the processed media and/ordata to the various internal content provider modules 1416. In oneimplementation, the internet content provider modules 1416 areconfigured to communicate with and access the subservices responsive touser actions or schedule event from Intelligent TV 100 in order togenerate and present information required for application 416. Thisprocess is discussed with respect to process 1600 in FIG. 16.

FIG. 16 shows a flow diagram for providing media or data to an internalcontent provider 1600 for data management 1400 according to anembodiment.

Process 1600 starts by loading an internal content provider module inresponse to user action or schedule event 1610. In one implementation,an application 416 may request an internet content provider module toprovide media and/or data to process or display to the user. Anapplication may start by user action. For example, live TV 452 or videoon demand 456 may request EPG information when the user changes theprogramming or channel which would display the header requiring EPGinformation. EPG and/or programming information may also need to bedisplayed when a user browses the media center 460 which may show a gridof programming available. Therefore, the relevant application 416 willload the corresponding internal content provider module 1416 for themedia and/or data needed. Internal content provider modules 1416 mayalso load in response to scheduled events. For example, media browser1416 c provides a real-time view of media sources and maintains a listof connected media sources. Therefore, media browser 1416 c may beloaded in the background and run continuously in order to update thelist. As such, when applications such as media center 460 accesses thelist of connected media sources, media browser 1416 c may be able toprovide a list in real-time without further delays to poll eachconnected media sources when the application requests such information.

Process 1600 next communicates with and receives media and/or datarelevant to the requested content from the corresponding subservices orother content provider modules 1620. As discussed with respect toprocess 1500, the subservices (i.e., VOD subservice 1420, EPG subservice1424, and media subservice 1428) processes and/or stores the receivedmedia and/or data from the external content provider modules. In oneimplementation, the media and/or data may be processed and stored asstandard data models (i.e., VOD data model 1404, EPG data model 1408,and media data model 1412) in storages 1420, 1424, and 1428.

Process 1600 next organizes the requested media and/or data according toa pre-defined format as content 1630. As discussed with respect toprocess 1500, in step 1540, the content provider modules 1416 processthe received media and/or data from the corresponding subservices 1420,1424, and 1428. In one implementation, each of the content providermodules 1416 is configured to serve the relevant applications 416 withinformation. The content provider modules will need to process thereceived media and/or data (i.e., in the forms of data models 1404,1408, and 1412) and organize such media and/or data into a pre-definedformat for use by the relevant applications 416.

For example, EPG data provider 1416 a serves applications with EPGinformation in a read-only format. As such, EPG data provider 1416 a maytransmit EPG information received from EPG subservice 1424 in EPG datamodel 1408 without modification. In another example, media data provider1416 b provides personalized media metadata and stores data in a sqlitedatabase. As such, media data provider 1416 b may receive media andinformation from VOD subservice 1420, EGP subservice 1424, and mediasubservice 1428. Media data provider 1416 b will also organize the mediaand data received from these subservices to generate the personalizedmedia metadata and further store the generated metadata into the sqlitedatabase. The relevant application may simply access the database forthe personalized media metadata.

Process 1600 next provides the content to video hardware and/or displayor to other content provider modules and/or application 1640. In oneimplementation, the content provider 1416 may access and provide contentdirectly to the video hardware 1462 and/or display 1463 via resourcearbitrator 1456. For example, the media content provider modules (i.e.,media data provider 1416 b, media browser 1416 c, and media scanner 1416d) may provide media content directly to video hardware 1462 and/ordisplay 1463, such that the media content may display directly the videowithout processing by an application. This may have the benefit inreducing processor-intensive video processing and/or other benefits.Contents from content provider modules 1416 may also have provided toother relevant content provider modules 1416 and/or applications 416.

FIG. 17 shows a view of an embodiment of an environment with DigitalLiving Network Alliance (DLNA) interoperating devices for an intelligenttelevision.

Similar to Intelligent TV 100 as shown in FIG. 1B, Intelligent TV 1700can interact with other electronic devices 1768 by either the wired 1708and/or wireless 1712 connections. As described herein, components of theIntelligent TV 1700 allow the device 1700 to be connected to devices1768 including, but not limited to, DVD players 1768 a, BluRay players1768 b, portable digital media devices 1768 c, smart phones 1768 d,tablet devices 1768 e, personal computers 1768 f, external cable boxes1768 g, keyboards 1768 h, pointing devices 1768 i, printers 1768 j, gamecontrollers and/or game pads 1768 k, satellite dishes 1768 l, externaldisplay devices 1768 m, and other universal serial bus (USB), local areanetwork (LAN), Bluetooth™, high-definition multimedia interface (HDMI)compliant devices, and/or wireless devices. When connected to anexternal cable box 1768 g or satellite dish 1768 l, the Intelligent TV1700 can access additional media content. Also, as further describedbelow, the Intelligent TV 1700 is capable of receiving digital and/oranalog signals broadcast by TV stations. The Intelligent TV 100 can beconfigured as one or more of a standard-definition television, enhancedtelevision, and high-definition television. It may operate as one ormore of cable, Internet, Internet Protocol, satellite, web, and/or smarttelevision. The Intelligent TV 1700 may also be used to control theoperation of, and may interface with, other smart components such assecurity systems 1772, door/gate controllers 1776, remote video cameras1780, lighting systems 1784, thermostats 1788, refrigerators 1792, andother appliances.

In one configuration, wired 1712 and wireless 1716 connections connectIntelligent TV 1710 and the various devices as discussed over network1716 with DLNA capabilities. Under DLNA standard, the connected devicesmay further have interoperability capabilities that enable sharing ofdigital media between the devices. For example, each DLNA capable devicemay use Universal Plug and Play (UPnP) to discover and connect to otherDLNA capable devices within wired 1712 and wireless 1716 connections.Further capabilities include managing media in other DLNA devices ofcontrolling the functions of other DLNA devices.

Intelligent TV 1700 may be a DLNA home network device Intelligent TV1700 may include modules that act as a Digital Media Player (DMP)configured to find content on Digital Media Servers (DMS) and provideplayback and rendering capabilities, For example, Intelligent TV 1700may connect, through network 1716, with DLNA capable digital mediaplayer (DMP) devices such as DVD player 1768 a, Blu-ray player 1768 b,and other devices. Intelligent TV 1700 may also connect, through network1716, with DLNA capable digital media controller (DMC) devices such assmart phone 1768 d, tablet 1768 e, and other devices.

In one implementation, data service 1400 may include a DLNA subserviceas an additional subservice that is configured to connect and interactwith the various DLNA devices through network 1716, The DLNA subservicemay contain a single instance of an UPnP/DLNA stack and may run periodicdiscovery scans for other DLNA devices on the network 1716. The DLNAsubservice may add or remove devices from the UPnP/DLNA stack when newDLNA devices are added to network 1716 or has been removed from thenetwork.

The DLNA subservice may also work with content provider modules 1416such as media browser 1416 c or media scanner 1416 d. As discussedabove, media browser 1416 c is configured to maintain a list of theconnected media sources of Intelligent TV 1700 and to provide areal-time view of the connected media sources; media scanner 1416 d isconfigured to populate a media table using the data of the connectedmedia sources retrieved from media browser 1416 c. In oneimplementation, the DLNA subservice facilitates the processes of mediabrowser 1416 c and media scanner 1416 d by notifying media browser 1416c or media scanner 1416 d of any status changes to connecting orconnected DLNA devices (i.e., when DLNA devices are discovered ordisconnected).

In another implementation, media browser 1416 c may further retrievecontent data from DLNA devices. Media browser 1416 c may contain aplug-in that periodically communicates with and retrieves metadata fromDLNA content servers. Further, media scanner 1416 d may aggregate themetadata retrieved by media browser 1416 c with other data regardingcontents in non-DLNA devices as a unified metadata for the media table.

In another configuration, Intelligent TV 1700 may include and usealternative protocols to DLNA for digital media sharing between capabledevices as known or may be later derived in the art (i.e. Apple'sDigital Audio Access Protocol (DAAP)).

FIG. 18 shows a flow diagram for scanning and processing DLNA devicesfor an Intelligent TV 1700 according to an embodiment.

Process 1800 starts with retrieving status data for DNLA devices thatare connected the network 1810. In one configuration, Intelligent TV1700 and a plurality of DNLA devices are all connected through a network1716. Network 1716 may be IP based and may involve networkingcommunication technologies such as Ethernet, Wi-Fi 802.11 (a, b, g, n),Bluetooth, phoneline networking (e.g., Home Phoneline NetworkingAlliance (HPNA)), coaxial cable networking (e.g., Multimedia over CoaxAlliance (MoCA)), Wi-Fi Direct, and other technologies. Intelligent TV1700 and the DMA devices may use IP over network 1716 to connect andcommunicate with other devices as well as the Internet.

A typical DLNA device may send status change data on discovery (i.e.,device is first powered on and connected to network 1716) ordisconnection. In the functional component “Device Discovery andControl” for a DLNA device, status change data may be implementedthrough the UPnP device architecture. For example, once a newly poweredon DLNA device connects to network 1716 and has established an IPaddress, the DLNA device may initiate UPnP discovery under the SimpleService Discovery Protocol (SSDP) to advertise its services to otherDLNA devices in the network. In another example, Intelligent TV 1700 maybe first powered on and establishes an IP address in network 1716;Intelligent TV 1700 may then search for DLNA devices already connectedto network 1716 before Intelligent TV 1700 via the SSDP protocol.

Intelligent TV 1700 may also retrieve further media capabilities relatedstatus data for the DINA device using the “Media Management and Control”function using UPnP Audio-Video (AV) protocol. For example, a connecteddevice may be an UPnP AV media server that provides media libraryinformation or streaming media content (i.e., DVD player 168 a, Blu-Rayplayer 168 b, Internet connected computer 168 f, hard drive with mediacontent 168 g). These connected devices may further include status dataincluding the Quality of Service (QoS) information for streaming mediaover network 1716, rending control information for its media (i.e.,volume, brightness, color, sharpness), remote access or controlinformation (i.e., recording, scheduling, playing, pausing, stopping),and other status data. The connected device may also include other datasuch as a list of content or other information provided by the device.These statuses and other data may be updated and sent by the DLNA deviceto the network 1716 as needed and be retrieved by Intelligent TV 1700.

Next, Intelligent TV 1700 updates internal status data regarding theDNLA devices 1820. In one implementation, Intelligent TV 1700 may keeptrack of the statuses for all DNLA devices connected to network 1716internally through a data subservice 1400. For example, Intelligent TV1700 may include a data subservice DLNA service dealing thecommunications from the DNLA devices and storing and/or update the DNLAdevices status data (Le., in a temporary or permanent storage in aspecialized formatted list)

In storing and updating the DNLA status data, this process may involveadding the DMA device with status data to the list when the device isfirst connected to the network, deleting the device from the list whenthe device disconnects, and updating the device on the list with newcapabilities and data when the device broadcasts a status change. Inanother implementation, a device may be added and updated only when itis an approved or relevant DNLA device for Intelligent TV 1700.

In one implementation, the DNLA subservice may also contain a singleinstance of a UPnP/DLNA stack that realizes the DLNA functionalities. Assuch, in one configuration, the DNLA subservice may perform at leastsome of the functions of retrieving the status data from the DNLA device1810 using the implemented UPnP/DLNA stack. In a further configuration,the DLNA subservice may run periodic discovery scans for other DLNAdevices on the network which have not been added to Intelligent TV 1700using UPnP.

Next, Intelligent TV 1700 aggregates the DNLA status data with non-DNLAdevices data as a unified metadata 1740.

Generally, non-DNLA devices do not use the UPnP protocol and do notbroadcast their connection or status changes. As such, non-DNLA devicesare discovered by Intelligent TV 1700 using an alternate method. Forexample, each connected devices 1768 may connect with Intelligent TV1700 through various ports including through network 1716. Devicesconnected through each port 168 may communicate with Intelligent TV 1700via an individual protocol (i.e., DVD player 1768 a and Blu Ray player1768 b may connected with Intelligent TV 100 through High-DefinitionMultimedia Interface (HDMI), Digital Visual Interface (DVI), RCAconnector, composite video interface, Bayonet Neill-Concelman (BNC)connector, and/or other interfaces, wireless phone 1768 d, computingtablet 1768 e, and hard disk 1768 g may connect with Intelligent TV 100through wireless or wired Ethernet interfaces through network 1716 butnot using the UPnP protocol).

Intelligent TV 1700 may discover and update the status data of thesenon-DNLA devices according to the respective interface and protocol. Forexample, a digital video interface such as HDMI and DVI may transferstatus information regarding the connected device (i.e., device name,capabilities such as supported resolution); Intelligent TV 1700 canobtain status information from these devices without needing anaccompanying video feed, Devices on other interfaces, such as analogvideo interfaces (i.e., RCA or BNC interface), may only provide statusinformation embedded in the analog video feed (i.e., displayinginformation on a blue screen as an analog video feed); as such,Intelligent TV 1700 may only obtain basic information (such as that thedevice is connected) when the Intelligent TV 1700 detects such a videofeed from the device. Therefore, the list of non-DNLA devices and theirstatus data may be updated with information and at frequency dependenton the specific interface of the device with Intelligent TV 1700. Forexample, analog interfaces may be polled by Intelligent TV 1700 atcertain intervals for updates, while digital interfaces may transmitstatus data as the data is passed along. Further details on status datafor non-DNLA devices is as discussed above with respect to internalcontent provider modules (i.e., media browser 1416 c and media scanner1416 d with respect to FIG. 14).

The DMA status data separately obtained and updated as opposed tonon-DNLA devices may be aggregated as a unified metadata. In oneimplementation, DNLA status data may be merged with non-DNLA statusdata. For example, the unified metadata may have common fields forstatus information such as for the type, video resolution, andconnection status of the connected devices, Sonic fields may be DNLAdevices or non-DLNA devices specific such as IWO capabilities for DNLAdevices and the interface type connected to Intelligent TV 1700 fornon-DNLA devices.

Further, DMA devices automatically update the status data to IntelligentTV 1700 through UPnP as oppose to needing to be polled by Intelligent TV1700 for some non-DNLA devices. As such, in one implementation,Intelligent TV 1700 may update the unified metadata with DMA status dataas soon as the Intelligent TV 1700 has received and processed the statusdata from UPnP. In another implementation, the updated DNLA status datais periodically merged with non-DNLA devices data as unified metadata.

As discussed above with respect to internal content provider modules1416 with respect to FIG. 14, the media browser 1416 c and the mediascanner 1416 d maintain and/or use a list of connected devices, such asdevices 1768. In particular, media scanner 1416 d is configured to scanfor non-DLNA devices connected to Intelligent TV 1700 and update thelist of non-DLNA devices periodically. The DLNA service may work mediascanner 1416 d to update the list of devices with DNLA devices that havestatus changes with the unified metadata (i.e., the DLNA servicenotifies media scanner 1416 d with the updated DNLA status data andmedia scanner 1416 d updates the list of connected devices). In anotherimplementation, the media browser 1416 c may also include a plug-in forretrieving the metadata from the DLNA service and/or DLNA contentservers which contain data regarding contents in DLNA devices. Mediascanner 1416 d may also aggregate unified metadata retrieved from themedia browser content provider modules.

The exemplary systems and methods of this disclosure have been describedin relation to data service function for Intelligent TV. However, toavoid unnecessarily obscuring the present disclosure, the precedingdescription omits a number of known structures and devices. Thisomission is not to be construed as a limitation of the scopes of theclaims. Specific details are set forth to provide an understanding ofthe present disclosure. It should however be appreciated that thepresent disclosure may be practiced in a variety of ways beyond thespecific detail set forth herein.

Furthermore, while the exemplary aspects, embodiments, and/orconfigurations illustrated herein show the various components of thesystem collocated, certain components of the system can be locatedremotely, at distant portions of a distributed network, such as a LANand/or the Internet, or within a dedicated system. Thus, it should beappreciated, that the components of the system can be combined into oneor more devices or collocated on a particular node of a distributednetwork, such as an analog and/or digital telecommunications network, apacket-switch network, or a circuit-switched network. It will beappreciated from the preceding description, and for reasons ofcomputational efficiency, that the components of the system can bearranged at any location within a distributed network of componentswithout affecting the operation of the system. For example, the variouscomponents can be located in a switch such as a PBX and media server,gateway, in one or more communications devices, at one or more users'premises, or some combination thereof Similarly, one or more functionalportions of the system could be distributed between a telecommunicationsdevice(s) and an associated computing device.

Furthermore, it should be appreciated that the various links connectingthe elements can be wired or wireless links, or any combination thereof,or any other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.These wired or wireless links can also be secure links and may becapable of communicating encrypted information. Transmission media usedas links, for example, can be any suitable carrier for electricalsignals, including coaxial cables, copper wire and fiber optics, and maytake the form of acoustic or light waves, such as those generated duringradio-wave and infra-red data communications.

Also, while the flowcharts have been discussed and illustrated inrelation to a particular sequence of events, it should be appreciatedthat changes, additions, and omissions to this sequence can occurwithout materially affecting the operation of the disclosed embodiments,configuration, and aspects.

A number of variations and modifications of the disclosure can be used.It would be possible to provide for some features of the disclosurewithout providing others.

In yet another embodiment, the systems and methods of this disclosurecan be implemented in conjunction with a special purpose computer, aprogrammed microprocessor or microcontroller and peripheral integratedcircuit element(s), an ASIC or other integrated circuit, a digitalsignal processor, a hard-wired electronic or logic circuit such asdiscrete element circuit, a programmable logic device or gate array suchas PLD, PLA, FPGA, PAL, special purpose computer, any comparable means,or the like. In general, any device(s) or means capable of implementingthe methodology illustrated herein can be used to implement the variousaspects of this disclosure. Exemplary hardware that can be used for thedisclosed embodiments, configurations and aspects includes computers,handheld devices, telephones (e.g., cellular, Internet enabled, digital,analog, hybrids, and others), and other hardware known in the art. Someof these devices include processors (e.g., a single or multiplemicroprocessors), memory, nonvolatile storage, input devices, and outputdevices. Furthermore, alternative software implementations including,but not limited to, distributed processing or component/objectdistributed processing, parallel processing, or virtual machineprocessing can also be constructed to implement the methods describedherein.

In yet another embodiment, the disclosed methods may be readilyimplemented in conjunction with software using object or object-orientedsoftware development environments that provide portable source code thatcan be used on a variety of computer or workstation platforms.Alternatively, the disclosed system may be implemented partially orfully in hardware using standard logic circuits or VLSI design. Whethersoftware or hardware is used to implement the systems in accordance withthis disclosure is dependent on the speed and/or efficiency requirementsof the system, the particular function, and the particular software orhardware systems or microprocessor or microcomputer systems beingutilized.

In yet another embodiment, the disclosed methods may be partiallyimplemented in software that can be stored on a storage medium, executedon a programmed general-purpose computer with the cooperation of acontroller and memory, a special purpose computer, a microprocessor, orthe like. In these instances, the systems and methods of this disclosurecan be implemented as program embedded on a personal computer such as anapplet, JAVA® or CGI script, as a resource residing on a server orcomputer workstation, as a routine embedded in a dedicated measurementsystem, system component, or the like. The system can also beimplemented by physically incorporating the system and/or method into asoftware and/or hardware system.

Although the present disclosure describes components and functionsimplemented in the aspects, embodiments, and/or configurations withreference to particular standards and protocols, the aspects,embodiments, and/or configurations are not limited to such standards andprotocols. Other similar standards and protocols not mentioned hereinare in existence and are considered to be included in the presentdisclosure. Moreover, the standards and protocols mentioned herein andother similar standards and protocols not mentioned herein areperiodically superseded by faster or more effective equivalents havingessentially the same functions. Such replacement standards and protocolshaving the same functions are considered equivalents included in thepresent disclosure.

The present disclosure, in various aspects, embodiments, and/orconfigurations, includes components, methods, processes, systems and/orapparatus substantially as depicted and described herein, includingvarious aspects, embodiments, configurations embodiments,subcombinations, and/or subsets thereof. Those of skill in the art willunderstand how to make and use the disclosed aspects, embodiments,and/or configurations after understanding the present disclosure. Thepresent disclosure, in various aspects, embodiments, and/orconfigurations, includes providing devices and processes in the absenceof items not depicted and/or described herein or in various aspects,embodiments, and/or configurations hereof, including in the absence ofsuch items as may have been used in previous devices or processes, e.g.,for improving performance, achieving ease and/or reducing cost ofimplementation.

The foregoing discussion has been presented for purposes of illustrationand description. The foregoing is not intended to limit the disclosureto the form or forms disclosed herein. In the foregoing DetailedDescription for example, various features of the disclosure are groupedtogether in one or more aspects, embodiments, and/or configurations forthe purpose of streamlining the disclosure. The features of the aspects,embodiments, and/or configurations of the disclosure may be combined inalternate aspects, embodiments, and/or configurations other than thosediscussed above. This method of disclosure is not to be interpreted asreflecting an intention that the claims require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive aspects lie in less than all features of a singleforegoing disclosed aspect, embodiment, and/or configuration. Thus, thefollowing claims are hereby incorporated into this Detailed Description,with each claim standing on its own as a separate preferred embodimentof the disclosure.

Moreover, though the description has included description of one or moreaspects, embodiments, and/or configurations and certain variations andmodifications, other variations, combinations, and modifications arewithin the scope of the disclosure, e.g., as may be within the skill andknowledge of those in the art, after understanding the presentdisclosure. It is intended to obtain rights which include alternativeaspects, embodiments, and/or configurations to the extent permitted,including alternate, interchangeable and/or equivalent structures,functions, ranges or steps to those claimed, whether or not suchalternate, interchangeable and/or equivalent structures, functions,ranges or steps are disclosed herein, and without intending to publiclydedicate any patentable subject matter.

What is claimed is:
 1. A method of managing external devices connectedthrough a network for an intelligent television (TV), comprising:retrieving status data for an external device through the network;updating an internal status data for the external device in theIntelligent TV using the retrieved status data; and notifying aninternal content provider module of the Intelligent TV with the updatedinternal status data.
 2. The method of managing external devices ofclaim 1, further comprising aggregating the updated internal status datawith status data for other devices connected through the network as aunified data.
 3. The method of managing external devices of claim 2,wherein the aggregating the updated internal status data with statusdata for other devices connected through the network is performed by aninternal content provider module of the Intelligent TV.
 4. The method ofmanaging external devices of claim 3, wherein the internal contentprovider module comprises one or more of a media scanner and a mediabrowser.
 5. The method of managing external devices of claim 1, whereinthe external device is a Digital Living Network Alliance (DLNA) deviceand communicates with the Intelligent TV using the Universal Plug andPlay (UPnP) protocol.
 6. The method of managing external devices ofclaim 1, wherein the retrieved status data is sent by the externaldevice on one or more of a connection of the external device to thenetwork, a disconnection of the external device from the network, and achange of status to the external device.
 7. The method of managingexternal devices of claim 1, wherein the status data comprises one ormore of device discovery data, device disconnection data, and mediadata.
 8. An intelligent television (TV), comprising: a Digital LivingNetwork Alliance (DLNA) subservice module configured to retrieve statusdata from a plurality of DLNA devices connected through a network andupdate internal status data for the external devices in the IntelligentTV using the retrieved status data; and an internal content providermodule configured to maintain a list of connected media sources of theIntelligent TV using the status data retrieved by the DLNA subservicemodule.
 9. The Intelligent TV of claim 8, wherein the internal contentprovider module comprises a media browser configured to provide areal-time view of media sources of the Intelligent TV.
 10. TheIntelligent TV of claim 9, wherein the media browser comprises a plug-inconfigured to retrieve metadata from the plurality of DLNA devices thatare DLNA content servers.
 11. The Intelligent TV of claim 9, furthercomprising a media scanner configured to populate a media table usingdata retrieved by the media browser.
 12. The Intelligent TV of claim 11,wherein the media scanner is further configured to aggregate data ofDLNA and non-DLNA devices as a unified metadata.
 13. A Digital LivingNetwork Alliance (DLNA) subservice module for an intelligent television(TV), wherein the DLNA subservice module is configured to perform thesteps of: retrieving status data of a DLNA device connected through anetwork; updating an internal status data for the DLNA device in theIntelligent TV using the retrieved status data; and notifying aninternal content provider module of the Intelligent TV with the updatedinternal status data.
 14. The DNLA subservice of claim 13, wherein theinternal content provider module further aggregates the updated internalstatus data with status data for other devices connected through thenetwork as a unified data.
 15. The DNLA subservice of claim 13, whereinthe internal content provider module comprises one or more of a mediascanner and a media browser.
 16. The DNLA subservice of claim 13,wherein the DLNA device communicates with the Intelligent TV using theUniversal Plug and Play (UPnP) protocol.
 17. The DNLA subservice ofclaim 13, wherein the retrieved status data is sent by the externaldevice on one or more of a connection of the external device to thenetwork, a disconnection of the external device from the network, and achange of status to the external device.
 18. The DNLA subservice ofclaim 13, wherein the status data comprises one or more of devicediscovery data, device disconnection data, and media data.
 19. The DNLAsubservice of claim 15, the media browser is configured to provide areal-time view of media sources of the Intelligent TV.
 20. The DNLAsubservice of claim 19, the media scanner is configured to populate amedia table using data retrieved by the media browser.